Hi Guennadi, On Fri, Jan 6, 2012 at 22:58, Guennadi Liakhovetski <g.liakhovetski@xxxxxx> wrote: > An Oops has once been observed, when the SDIO card had been ejected during > IO. The PC value shows, that the dev pointer in b43_op_stop() was NULL. > > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> > --- > > Might also be good for stable > > drivers/net/wireless/b43/main.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c > index 5634d9a..3849c25 100644 > --- a/drivers/net/wireless/b43/main.c > +++ b/drivers/net/wireless/b43/main.c > @@ -4834,6 +4834,9 @@ static void b43_op_stop(struct ieee80211_hw *hw) > cancel_work_sync(&(wl->beacon_update_trigger)); > > mutex_lock(&wl->mutex); > + if (!dev) > + goto out_unlock; Is there any reason to take this mutex, then jump to a label that releases it immediately? Would it be better to add a new label after the mutex_unlock() below and jump to there immediately after the cancel_work_sync() call above? Thanks, -- Julian Calaby Email: julian.calaby@xxxxxxxxx Profile: http://www.google.com/profiles/julian.calaby/ .Plan: http://sites.google.com/site/juliancalaby/ -- 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