Re: usb unbind/bind => WARNING at fs/sysfs/dir.c [Was:2.6.25-rc8-mm1]

From: Greg KH
Date: Sat Apr 05 2008 - 00:34:14 EST


On Fri, Apr 04, 2008 at 11:46:59PM -0400, Alan Stern wrote:
> On Fri, 4 Apr 2008, Alan Stern wrote:
>
> > On Fri, 4 Apr 2008, Greg KH wrote:
> >
> > > On Fri, Apr 04, 2008 at 10:16:32PM +0200, Jiri Slaby wrote:
> > > > On 04/02/2008 06:32 AM, Andrew Morton wrote:
> > > >> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.25-rc8/2.6.25-rc8-mm1/
> > > >
> > > > After
> > > > $ echo -n 4-1.2 >/sys/bus/usb/drivers/usb/unbind
> > > > $ echo -n 4-1.2 >/sys/bus/usb/drivers/usb/bind
> > > >
> > > > I have this in logs:
> > > >
> > > > sysfs: duplicate filename 'usbdev4.12_ep81' can not be created
> > >
> > > Does this also show up in 2.6.25-rc8 without -mm?
> > >
> > > I thought I fixed this already, I don't see what slipped into -mm that
> > > would have caused it to come back. Time to run some more tests...
> > >
> > > Oh, also note that binding and unbinding the main "usb" driver is not
> > > encouraged, or even supported. I'm amazed it works, as this is not
> > > something that any "real" user would do as it makes no sense at all
> > > because we have no "alternative" drivers yet for the main USB device.
> >
> > It's a real bug. I don't have time to track it down now. Next week...
>
> Here's the answer. The bug was introduced when the definition of
> device_is_registered() in include/linux/device.h was changed. The old
> definition returned 0 when called inside a driver's remove method for a
> device being unregistered, whereas the new definition returns 1. I
> don't know when this change was made.

I've changed that in the -mm tree to make some PCI stuff much easier. I
didn't realize that USB was depending on when this was being set, sorry
about it.

I like your fix better, it makes the code path much simpler :)

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/