[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.0912051211530.15558-100000@netrider.rowland.org>
Date: Sat, 5 Dec 2009 12:16:13 -0500 (EST)
From: Alan Stern <stern@...land.harvard.edu>
To: Andreas Mohr <andi@...as.de>
cc: Ondrej Zary <linux@...nbow-software.org>,
<linux-usb@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: debugging oops after disconnecting Nexio USB touchscreen
On Sat, 5 Dec 2009, Andreas Mohr wrote:
> Hi,
>
> > Furthermore, the patch shows that the second-to-last argument to
> > usb_fill_bulk_urb() -- the completion function -- is NULL. That is
> > strictly illegal and it should have caused an oops as soon as the URB
> > was used.
>
> Then there's definitely a WARN_ON or so missing in
> static inline void usb_fill_bulk_urb()
No there isn't. That inline just fills in a bunch of fields.
You could argue that there is a WARN_ON missing in usb_submit_urb().
I don't think one is necessary, but you might disagree. Either way,
both of us missed the fact that right at the start of usb_submit_urb()
is a check for urb->complete being NULL; if it is NULL then the
submission simply fails (and there is no oops).
> And highly likely more checks in those areas that are causing my (and
> other people's) ftdi_sio tests and USB audio (MIPS mmap) to fail.
> Followup soon.
Sometimes having too many checks is worse than having too few,
especially if the failure modes are relatively easy to handle.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists