lkml.org 
[lkml]   [2008]   [Feb]   [6]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/2] - SH/Dreamcast - fix maple bus bugs
FromAdrian McMenamin <>
DateWed, 06 Feb 2008 23:05:14 +0000
On Wed, 2008-02-06 at 15:01 -0800, Greg KH wrote:
> On Wed, Feb 06, 2008 at 10:53:51PM +0000, Adrian McMenamin wrote:
> > -	dev->function = function;
> > -	dev->dev.bus = &maple_bus_type;
> > -	dev->dev.parent = &maple_bus;
> > -	dev->dev.release = &maple_release_device;
> > -	retval = device_register(&dev->dev);
> > -	if (retval) {
> > -		printk(KERN_INFO
> > -		       "Maple bus: Attempt to register device (%x, %x) failed.\n",
> > -		       dev->port, dev->unit);
> > -		maple_free_dev(dev);
> > +	mdev->function = function;
> > +	mdev->dev.release = &maple_release_device;
> > +	if (mdev->registered == 0) {
> > +		retval = device_register(&mdev->dev);
> > +		if (retval) {
> > +			printk(KERN_INFO
> > +			"Maple bus: Attempt to register device"
> > +			" (%x, %x) failed.\n",
> > +			mdev->port, mdev->unit);
> > +			maple_free_dev(mdev);
> > +			mdev = NULL;
> > +			return;
> > +		}
> > +		mdev->registered = 1;
> >  	}
> > -	dev->registered = 1;
> 
> I think you are still papering over the real problem here of trying to
> register a device twice.  That's something you should never be doing,
> and your bus walking logic must be incorrect...
> 
I just left that in as a sanity check. It should never be acted on. I
can remove it if you prefer.



\
 
 \ /
  Last update: 2008-02-07 00:11    [from the cache]
©2003-2008