lkml.org 
[lkml]   [2008]   [Feb]   [6]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 6 Feb 2008 15:01:27 -0800
FromGreg KH <>
SubjectRe: [PATCH 2/2] - SH/Dreamcast - fix maple bus bugs
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...

thanks,

greg k-h


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