Source-Changes-HG archive

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

[src/trunk]: src/sys/dev/sdmmc only ask for SDPCMD_INTSTATUS_HMB_SW_MASK and ...



details:   https://anonhg.NetBSD.org/src/rev/600abb071f2b
branches:  trunk
changeset: 936155:600abb071f2b
user:      mrg <mrg%NetBSD.org@localhost>
date:      Mon Jul 20 06:44:55 2020 +0000

description:
only ask for SDPCMD_INTSTATUS_HMB_SW_MASK and SDPCMD_INTSTATUS_CHIPACTIVE
interrupts, not all of them.  we only ack these ones.

mostly fixes pinebookpro wifi hard hangs.  still is problematic and can
trigger interrupt storm that appears as a hard hang without NET_MPSAFE,
and a follow up, less clearly right, change will reduce that to a soft
hang of the interface that can be cleared with 'ifconfig bwfm0 down up',
and even often recovers itself now.

diffstat:

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

diffs (21 lines):

diff -r 743de06d0643 -r 600abb071f2b sys/dev/sdmmc/if_bwfm_sdio.c
--- a/sys/dev/sdmmc/if_bwfm_sdio.c      Mon Jul 20 05:50:55 2020 +0000
+++ b/sys/dev/sdmmc/if_bwfm_sdio.c      Mon Jul 20 06:44:55 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bwfm_sdio.c,v 1.19 2020/06/23 10:09:33 martin Exp $ */
+/* $NetBSD: if_bwfm_sdio.c,v 1.20 2020/07/20 06:44:55 mrg Exp $ */
 /* $OpenBSD: if_bwfm_sdio.c,v 1.1 2017/10/11 17:19:50 patrick Exp $ */
 /*
  * Copyright (c) 2010-2016 Broadcom Corporation
@@ -505,9 +505,8 @@
                goto err;
        }
 
-//     bwfm_sdio_dev_write(sc, SDPCMD_HOSTINTMASK,
-//         SDPCMD_INTSTATUS_HMB_SW_MASK | SDPCMD_INTSTATUS_CHIPACTIVE);
-       bwfm_sdio_dev_write(sc, SDPCMD_HOSTINTMASK, 0xffffffff);
+       bwfm_sdio_dev_write(sc, SDPCMD_HOSTINTMASK,
+           SDPCMD_INTSTATUS_HMB_SW_MASK | SDPCMD_INTSTATUS_CHIPACTIVE);
        bwfm_sdio_write_1(sc, BWFM_SDIO_WATERMARK, 8);
 
        if (bwfm_chip_sr_capable(bwfm)) {



Home | Main Index | Thread Index | Old Index