diff options
Diffstat (limited to 'drivers/ide/ide-floppy.c')
| -rw-r--r-- | drivers/ide/ide-floppy.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index 1f8db9ac05d1..a53e3ce4a142 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c | |||
| @@ -98,6 +98,7 @@ | |||
| 98 | #include <linux/cdrom.h> | 98 | #include <linux/cdrom.h> |
| 99 | #include <linux/ide.h> | 99 | #include <linux/ide.h> |
| 100 | #include <linux/bitops.h> | 100 | #include <linux/bitops.h> |
| 101 | #include <linux/mutex.h> | ||
| 101 | 102 | ||
| 102 | #include <asm/byteorder.h> | 103 | #include <asm/byteorder.h> |
| 103 | #include <asm/irq.h> | 104 | #include <asm/irq.h> |
| @@ -517,7 +518,7 @@ typedef struct { | |||
| 517 | u8 reserved[4]; | 518 | u8 reserved[4]; |
| 518 | } idefloppy_mode_parameter_header_t; | 519 | } idefloppy_mode_parameter_header_t; |
| 519 | 520 | ||
| 520 | static DECLARE_MUTEX(idefloppy_ref_sem); | 521 | static DEFINE_MUTEX(idefloppy_ref_mutex); |
| 521 | 522 | ||
| 522 | #define to_ide_floppy(obj) container_of(obj, struct ide_floppy_obj, kref) | 523 | #define to_ide_floppy(obj) container_of(obj, struct ide_floppy_obj, kref) |
| 523 | 524 | ||
| @@ -528,11 +529,11 @@ static struct ide_floppy_obj *ide_floppy_get(struct gendisk *disk) | |||
| 528 | { | 529 | { |
| 529 | struct ide_floppy_obj *floppy = NULL; | 530 | struct ide_floppy_obj *floppy = NULL; |
| 530 | 531 | ||
| 531 | down(&idefloppy_ref_sem); | 532 | mutex_lock(&idefloppy_ref_mutex); |
| 532 | floppy = ide_floppy_g(disk); | 533 | floppy = ide_floppy_g(disk); |
| 533 | if (floppy) | 534 | if (floppy) |
| 534 | kref_get(&floppy->kref); | 535 | kref_get(&floppy->kref); |
| 535 | up(&idefloppy_ref_sem); | 536 | mutex_unlock(&idefloppy_ref_mutex); |
| 536 | return floppy; | 537 | return floppy; |
| 537 | } | 538 | } |
| 538 | 539 | ||
| @@ -540,9 +541,9 @@ static void ide_floppy_release(struct kref *); | |||
| 540 | 541 | ||
| 541 | static void ide_floppy_put(struct ide_floppy_obj *floppy) | 542 | static void ide_floppy_put(struct ide_floppy_obj *floppy) |
| 542 | { | 543 | { |
| 543 | down(&idefloppy_ref_sem); | 544 | mutex_lock(&idefloppy_ref_mutex); |
| 544 | kref_put(&floppy->kref, ide_floppy_release); | 545 | kref_put(&floppy->kref, ide_floppy_release); |
| 545 | up(&idefloppy_ref_sem); | 546 | mutex_unlock(&idefloppy_ref_mutex); |
| 546 | } | 547 | } |
| 547 | 548 | ||
| 548 | /* | 549 | /* |
