Re: [GIT PATCH] USB patches for 2.6.33-git

From: russ . dill
Date: Mon Dec 14 2009 - 22:18:45 EST




On Mon, Dec 14, 2009 at 8:09 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:


On Mon, 14 Dec 2009, Linus Torvalds wrote:

I'll double-check by reverting it from current -tip, but if you don't hear
anything different from me, you can assume that that double-check
succeeded and confirms that that commit really is the cause of my printer
no longer working.

Confirmed.

With that commit reverted, everything works fine again. So it's definitely
a2582bd478c13c574d4c16ef1209d333f2a25935, although I have no idea _why_ it
causes problems.

One thing I note is that it literally changed semantics, as per the
comment in there. It used to be:

   ÂThis walks the driver device list and returns a pointer to the interface
   Âwith the matching minor.

and after that it is

   ÂThis walks the bus device list and returns a pointer to the interface
   Âwith the matching minor.

Notice the "driver device list" -> "bus device list" change.

Also notice that the minor number of my 'lp0' device is zero, so I could
easily imagine that some device without a driver at all or whatever will
have a zero there, and then it would return the wrong device entirely.

So I really think that commit is very suspect. Not matching against the
driver that we passed in looks like some total screwup.

But I don't know the code or the use. I do know that reverting it fixes
it.

Yes, you are right. Sorry for breaking your printer. There is both USB_MAJOR and USB_DEVICE_MAJOR. I haven't investigated it in great detail yet, but that seems likely to be the issue. I'll clean up the patch. And yes, it should definitely not be going into stable yet. Revert for now and I'll resubmit.

Attachment: signature.asc
Description: OpenPGP digital signature