Search Linux Wireless

Re: [PATCH] wireless: b43: fix Oops on card eject during transfer

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

 



Hi Julian

On Sat, 7 Jan 2012, Julian Calaby wrote:

> 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?

The reason is exactly that: to avoid adding one more label. It is an 
exceptional case, that that branch would be taken, so, there's no reason 
to optimize for it. Whereas adding one label would clutter the code 
needlessly, IMHO.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux