Is this the correct patch? The first hunk conflicts with an earlier patch ("b43legacy: Fix cancellation of work queues"). John On Mon, Sep 10, 2007 at 11:59:20AM -0500, Larry Finger wrote: > From: Michael Buesch <mb@xxxxxxxxx> > > The wq must be canceled later on rmmod. It's nonfatal, if > the wq runs on a device that's not started or down. It will > handle these cases. > But syncing in wireless_core_exit() will cause a deadlock with > the restart_work. (restart work cancels itself) > > Signed-off-by: Michael Buesch <mb@xxxxxxxxx> > Signed-off-by: Larry Finger <larry.finger@xxxxxxxxxxxx> > --- > > John, > > Sorry, but I sent the bare patch in the first version. > > Larry > > drivers/net/wireless/b43legacy/main.c | 2 ++ > 1 file changed, 2 insertions(+) > > Index: wireless-dev/drivers/net/wireless/b43legacy/main.c > =================================================================== > --- wireless-dev.orig/drivers/net/wireless/b43legacy/main.c > +++ wireless-dev/drivers/net/wireless/b43legacy/main.c > @@ -3021,6 +3021,7 @@ static void b43legacy_wireless_core_exit > B43legacy_WARN_ON(b43legacy_status(dev) > B43legacy_STAT_INITIALIZED); > if (b43legacy_status(dev) != B43legacy_STAT_INITIALIZED) > return; > + b43legacy_set_status(dev, B43legacy_STAT_UNINIT); > > b43legacy_rng_exit(dev->wl); > b43legacy_pio_free(dev); > @@ -3520,6 +3521,7 @@ static void b43legacy_one_core_detach(st > > wldev = ssb_get_drvdata(dev); > wl = wldev->wl; > + cancel_work_sync(&wldev->restart_work); > b43legacy_debugfs_remove_device(wldev); > b43legacy_wireless_core_detach(wldev); > list_del(&wldev->list); > - > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- John W. Linville linville@xxxxxxxxxxxxx - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html