@@ -36,14 +36,6 @@ static void blktrans_dev_release(struct kref *kref)
36
36
kfree (dev );
37
37
}
38
38
39
- static struct mtd_blktrans_dev * blktrans_dev_get (struct gendisk * disk )
40
- {
41
- struct mtd_blktrans_dev * dev = disk -> private_data ;
42
-
43
- kref_get (& dev -> ref );
44
- return dev ;
45
- }
46
-
47
39
static void blktrans_dev_put (struct mtd_blktrans_dev * dev )
48
40
{
49
41
kref_put (& dev -> ref , blktrans_dev_release );
@@ -191,15 +183,16 @@ static blk_status_t mtd_queue_rq(struct blk_mq_hw_ctx *hctx,
191
183
192
184
static int blktrans_open (struct block_device * bdev , fmode_t mode )
193
185
{
194
- struct mtd_blktrans_dev * dev = blktrans_dev_get ( bdev -> bd_disk ) ;
186
+ struct mtd_blktrans_dev * dev = bdev -> bd_disk -> private_data ;
195
187
int ret = 0 ;
196
188
189
+ kref_get (& dev -> ref );
190
+
197
191
mutex_lock (& dev -> lock );
198
192
199
193
if (dev -> open )
200
194
goto unlock ;
201
195
202
- kref_get (& dev -> ref );
203
196
__module_get (dev -> tr -> owner );
204
197
205
198
if (!dev -> mtd )
@@ -219,30 +212,27 @@ static int blktrans_open(struct block_device *bdev, fmode_t mode)
219
212
unlock :
220
213
dev -> open ++ ;
221
214
mutex_unlock (& dev -> lock );
222
- blktrans_dev_put (dev );
223
215
return ret ;
224
216
225
217
error_release :
226
218
if (dev -> tr -> release )
227
219
dev -> tr -> release (dev );
228
220
error_put :
229
221
module_put (dev -> tr -> owner );
230
- kref_put (& dev -> ref , blktrans_dev_release );
231
222
mutex_unlock (& dev -> lock );
232
223
blktrans_dev_put (dev );
233
224
return ret ;
234
225
}
235
226
236
227
static void blktrans_release (struct gendisk * disk , fmode_t mode )
237
228
{
238
- struct mtd_blktrans_dev * dev = blktrans_dev_get ( disk ) ;
229
+ struct mtd_blktrans_dev * dev = disk -> private_data ;
239
230
240
231
mutex_lock (& dev -> lock );
241
232
242
233
if (-- dev -> open )
243
234
goto unlock ;
244
235
245
- kref_put (& dev -> ref , blktrans_dev_release );
246
236
module_put (dev -> tr -> owner );
247
237
248
238
if (dev -> mtd ) {
0 commit comments