Module Name: src Committed By: sevan Date: Fri Mar 20 17:19:25 UTC 2020
Modified Files: src/sys/dev/pci: if_wpi.c if_wpivar.h Log Message: Apply the same change as for if_iwi.c r1.114 here. This driver sleeps during wpi_media_change(), and thus requires an adaptive mutex for the media lock. To generate a diff of this commit: cvs rdiff -u -r1.88 -r1.89 src/sys/dev/pci/if_wpi.c cvs rdiff -u -r1.22 -r1.23 src/sys/dev/pci/if_wpivar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/if_wpi.c diff -u src/sys/dev/pci/if_wpi.c:1.88 src/sys/dev/pci/if_wpi.c:1.89 --- src/sys/dev/pci/if_wpi.c:1.88 Thu Jan 30 06:10:26 2020 +++ src/sys/dev/pci/if_wpi.c Fri Mar 20 17:19:25 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wpi.c,v 1.88 2020/01/30 06:10:26 thorpej Exp $ */ +/* $NetBSD: if_wpi.c,v 1.89 2020/03/20 17:19:25 sevan Exp $ */ /*- * Copyright (c) 2006, 2007 @@ -18,7 +18,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_wpi.c,v 1.88 2020/01/30 06:10:26 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wpi.c,v 1.89 2020/03/20 17:19:25 sevan Exp $"); /* * Driver for Intel PRO/Wireless 3945ABG 802.11 network adapters. @@ -387,7 +387,11 @@ wpi_attach(device_t parent __unused, dev /* override state transition machine */ sc->sc_newstate = ic->ic_newstate; ic->ic_newstate = wpi_newstate; - ieee80211_media_init(ic, wpi_media_change, ieee80211_media_status); + + /* XXX media locking needs revisiting */ + mutex_init(&sc->sc_media_mtx, MUTEX_DEFAULT, IPL_SOFTNET); + ieee80211_media_init_with_lock(ic, + wpi_media_change, ieee80211_media_status, &sc->sc_media_mtx); sc->amrr.amrr_min_success_threshold = 1; sc->amrr.amrr_max_success_threshold = 15; Index: src/sys/dev/pci/if_wpivar.h diff -u src/sys/dev/pci/if_wpivar.h:1.22 src/sys/dev/pci/if_wpivar.h:1.23 --- src/sys/dev/pci/if_wpivar.h:1.22 Mon Aug 20 04:50:56 2018 +++ src/sys/dev/pci/if_wpivar.h Fri Mar 20 17:19:25 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wpivar.h,v 1.22 2018/08/20 04:50:56 riastradh Exp $ */ +/* $NetBSD: if_wpivar.h,v 1.23 2020/03/20 17:19:25 sevan Exp $ */ /*- * Copyright (c) 2006 @@ -172,6 +172,8 @@ struct wpi_softc { struct bpf_if * sc_drvbpf; + kmutex_t sc_media_mtx; /* XXX */ + union { struct wpi_rx_radiotap_header th; uint8_t pad[IEEE80211_RADIOTAP_HDRLEN];