On Mon, Aug 29, 2011 at 11:02:49AM +0200, Manohar Vanga wrote: > --- a/drivers/staging/vme/vme_bridge.h > +++ b/drivers/staging/vme/vme_bridge.h > @@ -115,9 +115,8 @@ struct vme_bridge { > struct list_head bus_list; /* list of VME buses */ > struct module *owner; /* module that owns the bridge */ > > - struct device dev[VME_SLOTS_MAX]; /* Device registered with > - * device model on VME bus > - */ > + struct vme_dev dev[VME_SLOTS_MAX]; /* Device registered > + * on VME bus */ Overall, this is the right way to go, using a vme_dev. BUT, you should never have a static list of devices, these should be pointers, not actual structures here, otherwise your reference counting just got all messed up and is wrong. And yes, I know you didn't create the code this way, but it needs to be fixed _before_ you make this kind of a change. thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel