diff options
Diffstat (limited to 'drivers/ata/libata-sff.c')
-rw-r--r-- | drivers/ata/libata-sff.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c index af6141bb1ba3..cf7acbc0cfcb 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c | |||
@@ -1302,6 +1302,18 @@ fsm_start: | |||
1302 | } | 1302 | } |
1303 | EXPORT_SYMBOL_GPL(ata_sff_hsm_move); | 1303 | EXPORT_SYMBOL_GPL(ata_sff_hsm_move); |
1304 | 1304 | ||
1305 | void ata_sff_queue_work(struct work_struct *work) | ||
1306 | { | ||
1307 | queue_work(ata_sff_wq, work); | ||
1308 | } | ||
1309 | EXPORT_SYMBOL_GPL(ata_sff_queue_work); | ||
1310 | |||
1311 | void ata_sff_queue_delayed_work(struct delayed_work *dwork, unsigned long delay) | ||
1312 | { | ||
1313 | queue_delayed_work(ata_sff_wq, dwork, delay); | ||
1314 | } | ||
1315 | EXPORT_SYMBOL_GPL(ata_sff_queue_delayed_work); | ||
1316 | |||
1305 | void ata_sff_queue_pio_task(struct ata_link *link, unsigned long delay) | 1317 | void ata_sff_queue_pio_task(struct ata_link *link, unsigned long delay) |
1306 | { | 1318 | { |
1307 | struct ata_port *ap = link->ap; | 1319 | struct ata_port *ap = link->ap; |
@@ -1311,8 +1323,7 @@ void ata_sff_queue_pio_task(struct ata_link *link, unsigned long delay) | |||
1311 | ap->sff_pio_task_link = link; | 1323 | ap->sff_pio_task_link = link; |
1312 | 1324 | ||
1313 | /* may fail if ata_sff_flush_pio_task() in progress */ | 1325 | /* may fail if ata_sff_flush_pio_task() in progress */ |
1314 | queue_delayed_work(ata_sff_wq, &ap->sff_pio_task, | 1326 | ata_sff_queue_delayed_work(&ap->sff_pio_task, msecs_to_jiffies(delay)); |
1315 | msecs_to_jiffies(delay)); | ||
1316 | } | 1327 | } |
1317 | EXPORT_SYMBOL_GPL(ata_sff_queue_pio_task); | 1328 | EXPORT_SYMBOL_GPL(ata_sff_queue_pio_task); |
1318 | 1329 | ||
@@ -1336,7 +1347,7 @@ static void ata_sff_pio_task(struct work_struct *work) | |||
1336 | u8 status; | 1347 | u8 status; |
1337 | int poll_next; | 1348 | int poll_next; |
1338 | 1349 | ||
1339 | BUG_ON(ap->sff_pio_task_link == NULL); | 1350 | BUG_ON(ap->sff_pio_task_link == NULL); |
1340 | /* qc can be NULL if timeout occurred */ | 1351 | /* qc can be NULL if timeout occurred */ |
1341 | qc = ata_qc_from_tag(ap, link->active_tag); | 1352 | qc = ata_qc_from_tag(ap, link->active_tag); |
1342 | if (!qc) { | 1353 | if (!qc) { |