Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/sdmmc clear all interrupts, not just those we expect...



details:   https://anonhg.NetBSD.org/src/rev/8476405a65e0
branches:  trunk
changeset: 936156:8476405a65e0
user:      mrg <mrg%NetBSD.org@localhost>
date:      Mon Jul 20 06:47:02 2020 +0000

description:
clear all interrupts, not just those we expect from the hostintmask.

this removes the final hard hang i have seen in pinebookpro wifi,
though one may still need to 'ifconfig bwfm0 down up' occasionally,
so we still have bugs to fix here (the hang is usually associated
with 'checksum error' from bwfm/sdio.)

diffstat:

 sys/dev/sdmmc/if_bwfm_sdio.c |  3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diffs (17 lines):

diff -r 600abb071f2b -r 8476405a65e0 sys/dev/sdmmc/if_bwfm_sdio.c
--- a/sys/dev/sdmmc/if_bwfm_sdio.c      Mon Jul 20 06:44:55 2020 +0000
+++ b/sys/dev/sdmmc/if_bwfm_sdio.c      Mon Jul 20 06:47:02 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bwfm_sdio.c,v 1.20 2020/07/20 06:44:55 mrg Exp $ */
+/* $NetBSD: if_bwfm_sdio.c,v 1.21 2020/07/20 06:47:02 mrg Exp $ */
 /* $OpenBSD: if_bwfm_sdio.c,v 1.1 2017/10/11 17:19:50 patrick Exp $ */
 /*
  * Copyright (c) 2010-2016 Broadcom Corporation
@@ -1466,7 +1466,6 @@
 
        intstat = bwfm_sdio_dev_read(sc, BWFM_SDPCMD_INTSTATUS);
        DPRINTF(("%s: intstat 0x%" PRIx32 "\n", DEVNAME(sc), intstat));
-       intstat &= (SDPCMD_INTSTATUS_HMB_SW_MASK|SDPCMD_INTSTATUS_CHIPACTIVE);
        if (intstat)
                bwfm_sdio_dev_write(sc, BWFM_SDPCMD_INTSTATUS, intstat);
 



Home | Main Index | Thread Index | Old Index