@@ -1208,12 +1208,12 @@ static int mei_minor_get(struct mei_device *dev)
12081208/**
12091209 * mei_minor_free - mark device minor number as free
12101210 *
1211- * @dev: device pointer
1211+ * @minor: minor number to free
12121212 */
1213- static void mei_minor_free (struct mei_device * dev )
1213+ static void mei_minor_free (int minor )
12141214{
12151215 mutex_lock (& mei_minor_lock );
1216- idr_remove (& mei_idr , dev -> minor );
1216+ idr_remove (& mei_idr , minor );
12171217 mutex_unlock (& mei_minor_lock );
12181218}
12191219
@@ -1225,11 +1225,14 @@ static void mei_device_release(struct device *dev)
12251225int mei_register (struct mei_device * dev , struct device * parent )
12261226{
12271227 int ret , devno ;
1228+ int minor ;
12281229
12291230 ret = mei_minor_get (dev );
12301231 if (ret < 0 )
12311232 return ret ;
12321233
1234+ minor = dev -> minor ;
1235+
12331236 /* Fill in the data structures */
12341237 devno = MKDEV (MAJOR (mei_devt ), dev -> minor );
12351238
@@ -1279,14 +1282,15 @@ int mei_register(struct mei_device *dev, struct device *parent)
12791282err_del_cdev :
12801283 cdev_del (dev -> cdev );
12811284err :
1282- mei_minor_free (dev );
1285+ mei_minor_free (minor );
12831286 return ret ;
12841287}
12851288EXPORT_SYMBOL_GPL (mei_register );
12861289
12871290void mei_deregister (struct mei_device * dev )
12881291{
12891292 int devno ;
1293+ int minor = dev -> minor ;
12901294
12911295 devno = dev -> cdev -> dev ;
12921296 cdev_del (dev -> cdev );
@@ -1295,7 +1299,7 @@ void mei_deregister(struct mei_device *dev)
12951299
12961300 device_destroy (& mei_class , devno );
12971301
1298- mei_minor_free (dev );
1302+ mei_minor_free (minor );
12991303}
13001304EXPORT_SYMBOL_GPL (mei_deregister );
13011305
0 commit comments