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 <[EMAIL PROTECTED]>
>
> 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 <[EMAIL PROTECTED]>
> Signed-off-by: Larry Finger <[EMAIL PROTECTED]>
> ---
>
> 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 [EMAIL PROTECTED]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
John W. Linville
[EMAIL PROTECTED]
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev