summaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-atapi.c
diff options
context:
space:
mode:
authorIngo Molnar2019-02-11 12:52:51 +0100
committerIngo Molnar2019-02-11 12:52:51 +0100
commitdc14b5fe7d0a1e37e9388964614676e4166b2953 (patch)
tree4f4f3aed094446b3e5daedd8710ccd831943490f /drivers/ide/ide-atapi.c
parentx86/fpu: Get rid of CONFIG_AS_FXSAVEQ (diff)
parentLinux 5.0-rc6 (diff)
downloadkernel-qcow2-linux-dc14b5fe7d0a1e37e9388964614676e4166b2953.tar.gz
kernel-qcow2-linux-dc14b5fe7d0a1e37e9388964614676e4166b2953.tar.xz
kernel-qcow2-linux-dc14b5fe7d0a1e37e9388964614676e4166b2953.zip
Merge tag 'v5.0-rc6' into x86/fpu, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/ide/ide-atapi.c')
-rw-r--r--drivers/ide/ide-atapi.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c
index da58020a144e..33a28cde126c 100644
--- a/drivers/ide/ide-atapi.c
+++ b/drivers/ide/ide-atapi.c
@@ -235,21 +235,28 @@ EXPORT_SYMBOL_GPL(ide_prep_sense);
int ide_queue_sense_rq(ide_drive_t *drive, void *special)
{
- struct request *sense_rq = drive->sense_rq;
+ ide_hwif_t *hwif = drive->hwif;
+ struct request *sense_rq;
+ unsigned long flags;
+
+ spin_lock_irqsave(&hwif->lock, flags);
/* deferred failure from ide_prep_sense() */
if (!drive->sense_rq_armed) {
printk(KERN_WARNING PFX "%s: error queuing a sense request\n",
drive->name);
+ spin_unlock_irqrestore(&hwif->lock, flags);
return -ENOMEM;
}
+ sense_rq = drive->sense_rq;
ide_req(sense_rq)->special = special;
drive->sense_rq_armed = false;
drive->hwif->rq = NULL;
ide_insert_request_head(drive, sense_rq);
+ spin_unlock_irqrestore(&hwif->lock, flags);
return 0;
}
EXPORT_SYMBOL_GPL(ide_queue_sense_rq);