aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2006-01-27 02:37:46 -0500
committerJeff Garzik <jgarzik@pobox.com>2006-01-27 02:37:46 -0500
commitb4d28889f7ebfe498dedaceb773b4c785b97d195 (patch)
tree7ac1070f4c956d035f40cc3b381b5868b980fafa
parent7dfb869c8e45e5863534f38fdac990829b22964a (diff)
parent041c5fc33cb7ed4fe5322585a611fb6e29a05d3a (diff)
Merge branch 'tmp'
-rw-r--r--drivers/scsi/ahci.c4
-rw-r--r--drivers/scsi/libata-core.c17
-rw-r--r--drivers/scsi/libata-scsi.c10
-rw-r--r--drivers/scsi/libata.h2
-rw-r--r--drivers/scsi/pdc_adma.c4
-rw-r--r--drivers/scsi/sata_mv.c4
-rw-r--r--drivers/scsi/sata_promise.c4
-rw-r--r--drivers/scsi/sata_qstor.c4
-rw-r--r--drivers/scsi/sata_sil24.c4
-rw-r--r--drivers/scsi/sata_sx4.c4
-rw-r--r--drivers/scsi/scsi_error.c7
-rw-r--r--include/linux/libata.h4
-rw-r--r--include/scsi/scsi_eh.h3
13 files changed, 36 insertions, 35 deletions
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c
index bb3686ae1885..0f6e4dd22901 100644
--- a/drivers/scsi/ahci.c
+++ b/drivers/scsi/ahci.c
@@ -184,7 +184,7 @@ struct ahci_port_priv {
184static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg); 184static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg);
185static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val); 185static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
186static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent); 186static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
187static int ahci_qc_issue(struct ata_queued_cmd *qc); 187static unsigned int ahci_qc_issue(struct ata_queued_cmd *qc);
188static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs *regs); 188static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
189static void ahci_phy_reset(struct ata_port *ap); 189static void ahci_phy_reset(struct ata_port *ap);
190static void ahci_irq_clear(struct ata_port *ap); 190static void ahci_irq_clear(struct ata_port *ap);
@@ -800,7 +800,7 @@ static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs *
800 return IRQ_RETVAL(handled); 800 return IRQ_RETVAL(handled);
801} 801}
802 802
803static int ahci_qc_issue(struct ata_queued_cmd *qc) 803static unsigned int ahci_qc_issue(struct ata_queued_cmd *qc)
804{ 804{
805 struct ata_port *ap = qc->ap; 805 struct ata_port *ap = qc->ap;
806 void __iomem *port_mmio = (void __iomem *) ap->ioaddr.cmd_addr; 806 void __iomem *port_mmio = (void __iomem *) ap->ioaddr.cmd_addr;
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 5b6bc3655068..50fb7cea94eb 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -1126,10 +1126,9 @@ ata_exec_internal(struct ata_port *ap, struct ata_device *dev,
1126 qc->private_data = &wait; 1126 qc->private_data = &wait;
1127 qc->complete_fn = ata_qc_complete_internal; 1127 qc->complete_fn = ata_qc_complete_internal;
1128 1128
1129 if (ata_qc_issue(qc)) { 1129 qc->err_mask = ata_qc_issue(qc);
1130 qc->err_mask = AC_ERR_OTHER; 1130 if (qc->err_mask)
1131 ata_qc_complete(qc); 1131 ata_qc_complete(qc);
1132 }
1133 1132
1134 spin_unlock_irqrestore(&ap->host_set->lock, flags); 1133 spin_unlock_irqrestore(&ap->host_set->lock, flags);
1135 1134
@@ -3860,10 +3859,10 @@ static inline int ata_should_dma_map(struct ata_queued_cmd *qc)
3860 * spin_lock_irqsave(host_set lock) 3859 * spin_lock_irqsave(host_set lock)
3861 * 3860 *
3862 * RETURNS: 3861 * RETURNS:
3863 * Zero on success, negative on error. 3862 * Zero on success, AC_ERR_* mask on failure
3864 */ 3863 */
3865 3864
3866int ata_qc_issue(struct ata_queued_cmd *qc) 3865unsigned int ata_qc_issue(struct ata_queued_cmd *qc)
3867{ 3866{
3868 struct ata_port *ap = qc->ap; 3867 struct ata_port *ap = qc->ap;
3869 3868
@@ -3888,7 +3887,7 @@ int ata_qc_issue(struct ata_queued_cmd *qc)
3888 3887
3889sg_err: 3888sg_err:
3890 qc->flags &= ~ATA_QCFLAG_DMAMAP; 3889 qc->flags &= ~ATA_QCFLAG_DMAMAP;
3891 return -1; 3890 return AC_ERR_SYSTEM;
3892} 3891}
3893 3892
3894 3893
@@ -3907,10 +3906,10 @@ sg_err:
3907 * spin_lock_irqsave(host_set lock) 3906 * spin_lock_irqsave(host_set lock)
3908 * 3907 *
3909 * RETURNS: 3908 * RETURNS:
3910 * Zero on success, negative on error. 3909 * Zero on success, AC_ERR_* mask on failure
3911 */ 3910 */
3912 3911
3913int ata_qc_issue_prot(struct ata_queued_cmd *qc) 3912unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc)
3914{ 3913{
3915 struct ata_port *ap = qc->ap; 3914 struct ata_port *ap = qc->ap;
3916 3915
@@ -4015,7 +4014,7 @@ int ata_qc_issue_prot(struct ata_queued_cmd *qc)
4015 4014
4016 default: 4015 default:
4017 WARN_ON(1); 4016 WARN_ON(1);
4018 return -1; 4017 return AC_ERR_SYSTEM;
4019 } 4018 }
4020 4019
4021 return 0; 4020 return 0;
diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c
index c496309f691a..95e3c278dd43 100644
--- a/drivers/scsi/libata-scsi.c
+++ b/drivers/scsi/libata-scsi.c
@@ -1322,10 +1322,9 @@ static void ata_scsi_translate(struct ata_port *ap, struct ata_device *dev,
1322 goto early_finish; 1322 goto early_finish;
1323 1323
1324 /* select device, send command to hardware */ 1324 /* select device, send command to hardware */
1325 if (ata_qc_issue(qc)) { 1325 qc->err_mask = ata_qc_issue(qc);
1326 qc->err_mask |= AC_ERR_OTHER; 1326 if (qc->err_mask)
1327 ata_qc_complete(qc); 1327 ata_qc_complete(qc);
1328 }
1329 1328
1330 VPRINTK("EXIT\n"); 1329 VPRINTK("EXIT\n");
1331 return; 1330 return;
@@ -2044,10 +2043,9 @@ static void atapi_request_sense(struct ata_queued_cmd *qc)
2044 2043
2045 qc->complete_fn = atapi_sense_complete; 2044 qc->complete_fn = atapi_sense_complete;
2046 2045
2047 if (ata_qc_issue(qc)) { 2046 qc->err_mask = ata_qc_issue(qc);
2048 qc->err_mask |= AC_ERR_OTHER; 2047 if (qc->err_mask)
2049 ata_qc_complete(qc); 2048 ata_qc_complete(qc);
2050 }
2051 2049
2052 DPRINTK("EXIT\n"); 2050 DPRINTK("EXIT\n");
2053} 2051}
diff --git a/drivers/scsi/libata.h b/drivers/scsi/libata.h
index e03ce48b7b4b..9d76923a2253 100644
--- a/drivers/scsi/libata.h
+++ b/drivers/scsi/libata.h
@@ -45,7 +45,7 @@ extern struct ata_queued_cmd *ata_qc_new_init(struct ata_port *ap,
45 struct ata_device *dev); 45 struct ata_device *dev);
46extern int ata_rwcmd_protocol(struct ata_queued_cmd *qc); 46extern int ata_rwcmd_protocol(struct ata_queued_cmd *qc);
47extern void ata_qc_free(struct ata_queued_cmd *qc); 47extern void ata_qc_free(struct ata_queued_cmd *qc);
48extern int ata_qc_issue(struct ata_queued_cmd *qc); 48extern unsigned int ata_qc_issue(struct ata_queued_cmd *qc);
49extern int ata_check_atapi_dma(struct ata_queued_cmd *qc); 49extern int ata_check_atapi_dma(struct ata_queued_cmd *qc);
50extern void ata_dev_select(struct ata_port *ap, unsigned int device, 50extern void ata_dev_select(struct ata_port *ap, unsigned int device,
51 unsigned int wait, unsigned int can_sleep); 51 unsigned int wait, unsigned int can_sleep);
diff --git a/drivers/scsi/pdc_adma.c b/drivers/scsi/pdc_adma.c
index 4daede86f00a..2dca6c53868a 100644
--- a/drivers/scsi/pdc_adma.c
+++ b/drivers/scsi/pdc_adma.c
@@ -131,7 +131,7 @@ static void adma_host_stop(struct ata_host_set *host_set);
131static void adma_port_stop(struct ata_port *ap); 131static void adma_port_stop(struct ata_port *ap);
132static void adma_phy_reset(struct ata_port *ap); 132static void adma_phy_reset(struct ata_port *ap);
133static void adma_qc_prep(struct ata_queued_cmd *qc); 133static void adma_qc_prep(struct ata_queued_cmd *qc);
134static int adma_qc_issue(struct ata_queued_cmd *qc); 134static unsigned int adma_qc_issue(struct ata_queued_cmd *qc);
135static int adma_check_atapi_dma(struct ata_queued_cmd *qc); 135static int adma_check_atapi_dma(struct ata_queued_cmd *qc);
136static void adma_bmdma_stop(struct ata_queued_cmd *qc); 136static void adma_bmdma_stop(struct ata_queued_cmd *qc);
137static u8 adma_bmdma_status(struct ata_port *ap); 137static u8 adma_bmdma_status(struct ata_port *ap);
@@ -419,7 +419,7 @@ static inline void adma_packet_start(struct ata_queued_cmd *qc)
419 writew(aPIOMD4 | aGO, chan + ADMA_CONTROL); 419 writew(aPIOMD4 | aGO, chan + ADMA_CONTROL);
420} 420}
421 421
422static int adma_qc_issue(struct ata_queued_cmd *qc) 422static unsigned int adma_qc_issue(struct ata_queued_cmd *qc)
423{ 423{
424 struct adma_port_priv *pp = qc->ap->private_data; 424 struct adma_port_priv *pp = qc->ap->private_data;
425 425
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c
index 68d17791896f..498d6284a2f7 100644
--- a/drivers/scsi/sata_mv.c
+++ b/drivers/scsi/sata_mv.c
@@ -328,7 +328,7 @@ static void mv_host_stop(struct ata_host_set *host_set);
328static int mv_port_start(struct ata_port *ap); 328static int mv_port_start(struct ata_port *ap);
329static void mv_port_stop(struct ata_port *ap); 329static void mv_port_stop(struct ata_port *ap);
330static void mv_qc_prep(struct ata_queued_cmd *qc); 330static void mv_qc_prep(struct ata_queued_cmd *qc);
331static int mv_qc_issue(struct ata_queued_cmd *qc); 331static unsigned int mv_qc_issue(struct ata_queued_cmd *qc);
332static irqreturn_t mv_interrupt(int irq, void *dev_instance, 332static irqreturn_t mv_interrupt(int irq, void *dev_instance,
333 struct pt_regs *regs); 333 struct pt_regs *regs);
334static void mv_eng_timeout(struct ata_port *ap); 334static void mv_eng_timeout(struct ata_port *ap);
@@ -1040,7 +1040,7 @@ static void mv_qc_prep(struct ata_queued_cmd *qc)
1040 * LOCKING: 1040 * LOCKING:
1041 * Inherited from caller. 1041 * Inherited from caller.
1042 */ 1042 */
1043static int mv_qc_issue(struct ata_queued_cmd *qc) 1043static unsigned int mv_qc_issue(struct ata_queued_cmd *qc)
1044{ 1044{
1045 void __iomem *port_mmio = mv_ap_base(qc->ap); 1045 void __iomem *port_mmio = mv_ap_base(qc->ap);
1046 struct mv_port_priv *pp = qc->ap->private_data; 1046 struct mv_port_priv *pp = qc->ap->private_data;
diff --git a/drivers/scsi/sata_promise.c b/drivers/scsi/sata_promise.c
index 02b14a870f52..010e08819886 100644
--- a/drivers/scsi/sata_promise.c
+++ b/drivers/scsi/sata_promise.c
@@ -96,7 +96,7 @@ static void pdc_qc_prep(struct ata_queued_cmd *qc);
96static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf); 96static void pdc_tf_load_mmio(struct ata_port *ap, const struct ata_taskfile *tf);
97static void pdc_exec_command_mmio(struct ata_port *ap, const struct ata_taskfile *tf); 97static void pdc_exec_command_mmio(struct ata_port *ap, const struct ata_taskfile *tf);
98static void pdc_irq_clear(struct ata_port *ap); 98static void pdc_irq_clear(struct ata_port *ap);
99static int pdc_qc_issue_prot(struct ata_queued_cmd *qc); 99static unsigned int pdc_qc_issue_prot(struct ata_queued_cmd *qc);
100 100
101 101
102static struct scsi_host_template pdc_ata_sht = { 102static struct scsi_host_template pdc_ata_sht = {
@@ -545,7 +545,7 @@ static inline void pdc_packet_start(struct ata_queued_cmd *qc)
545 readl((void __iomem *) ap->ioaddr.cmd_addr + PDC_PKT_SUBMIT); /* flush */ 545 readl((void __iomem *) ap->ioaddr.cmd_addr + PDC_PKT_SUBMIT); /* flush */
546} 546}
547 547
548static int pdc_qc_issue_prot(struct ata_queued_cmd *qc) 548static unsigned int pdc_qc_issue_prot(struct ata_queued_cmd *qc)
549{ 549{
550 switch (qc->tf.protocol) { 550 switch (qc->tf.protocol) {
551 case ATA_PROT_DMA: 551 case ATA_PROT_DMA:
diff --git a/drivers/scsi/sata_qstor.c b/drivers/scsi/sata_qstor.c
index 6367966941d6..b2f87da75735 100644
--- a/drivers/scsi/sata_qstor.c
+++ b/drivers/scsi/sata_qstor.c
@@ -120,7 +120,7 @@ static void qs_host_stop(struct ata_host_set *host_set);
120static void qs_port_stop(struct ata_port *ap); 120static void qs_port_stop(struct ata_port *ap);
121static void qs_phy_reset(struct ata_port *ap); 121static void qs_phy_reset(struct ata_port *ap);
122static void qs_qc_prep(struct ata_queued_cmd *qc); 122static void qs_qc_prep(struct ata_queued_cmd *qc);
123static int qs_qc_issue(struct ata_queued_cmd *qc); 123static unsigned int qs_qc_issue(struct ata_queued_cmd *qc);
124static int qs_check_atapi_dma(struct ata_queued_cmd *qc); 124static int qs_check_atapi_dma(struct ata_queued_cmd *qc);
125static void qs_bmdma_stop(struct ata_queued_cmd *qc); 125static void qs_bmdma_stop(struct ata_queued_cmd *qc);
126static u8 qs_bmdma_status(struct ata_port *ap); 126static u8 qs_bmdma_status(struct ata_port *ap);
@@ -352,7 +352,7 @@ static inline void qs_packet_start(struct ata_queued_cmd *qc)
352 readl(chan + QS_CCT_CFF); /* flush */ 352 readl(chan + QS_CCT_CFF); /* flush */
353} 353}
354 354
355static int qs_qc_issue(struct ata_queued_cmd *qc) 355static unsigned int qs_qc_issue(struct ata_queued_cmd *qc)
356{ 356{
357 struct qs_port_priv *pp = qc->ap->private_data; 357 struct qs_port_priv *pp = qc->ap->private_data;
358 358
diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c
index fb59012b9fbe..5a7a7b1d4add 100644
--- a/drivers/scsi/sata_sil24.c
+++ b/drivers/scsi/sata_sil24.c
@@ -251,7 +251,7 @@ static void sil24_scr_write(struct ata_port *ap, unsigned sc_reg, u32 val);
251static void sil24_tf_read(struct ata_port *ap, struct ata_taskfile *tf); 251static void sil24_tf_read(struct ata_port *ap, struct ata_taskfile *tf);
252static void sil24_phy_reset(struct ata_port *ap); 252static void sil24_phy_reset(struct ata_port *ap);
253static void sil24_qc_prep(struct ata_queued_cmd *qc); 253static void sil24_qc_prep(struct ata_queued_cmd *qc);
254static int sil24_qc_issue(struct ata_queued_cmd *qc); 254static unsigned int sil24_qc_issue(struct ata_queued_cmd *qc);
255static void sil24_irq_clear(struct ata_port *ap); 255static void sil24_irq_clear(struct ata_port *ap);
256static void sil24_eng_timeout(struct ata_port *ap); 256static void sil24_eng_timeout(struct ata_port *ap);
257static irqreturn_t sil24_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 257static irqreturn_t sil24_interrupt(int irq, void *dev_instance, struct pt_regs *regs);
@@ -557,7 +557,7 @@ static void sil24_qc_prep(struct ata_queued_cmd *qc)
557 sil24_fill_sg(qc, sge); 557 sil24_fill_sg(qc, sge);
558} 558}
559 559
560static int sil24_qc_issue(struct ata_queued_cmd *qc) 560static unsigned int sil24_qc_issue(struct ata_queued_cmd *qc)
561{ 561{
562 struct ata_port *ap = qc->ap; 562 struct ata_port *ap = qc->ap;
563 void __iomem *port = (void __iomem *)ap->ioaddr.cmd_addr; 563 void __iomem *port = (void __iomem *)ap->ioaddr.cmd_addr;
diff --git a/drivers/scsi/sata_sx4.c b/drivers/scsi/sata_sx4.c
index 9d8e4226c25c..db08a8ba9ea7 100644
--- a/drivers/scsi/sata_sx4.c
+++ b/drivers/scsi/sata_sx4.c
@@ -174,7 +174,7 @@ static void pdc20621_get_from_dimm(struct ata_probe_ent *pe,
174static void pdc20621_put_to_dimm(struct ata_probe_ent *pe, 174static void pdc20621_put_to_dimm(struct ata_probe_ent *pe,
175 void *psource, u32 offset, u32 size); 175 void *psource, u32 offset, u32 size);
176static void pdc20621_irq_clear(struct ata_port *ap); 176static void pdc20621_irq_clear(struct ata_port *ap);
177static int pdc20621_qc_issue_prot(struct ata_queued_cmd *qc); 177static unsigned int pdc20621_qc_issue_prot(struct ata_queued_cmd *qc);
178 178
179 179
180static struct scsi_host_template pdc_sata_sht = { 180static struct scsi_host_template pdc_sata_sht = {
@@ -678,7 +678,7 @@ static void pdc20621_packet_start(struct ata_queued_cmd *qc)
678 } 678 }
679} 679}
680 680
681static int pdc20621_qc_issue_prot(struct ata_queued_cmd *qc) 681static unsigned int pdc20621_qc_issue_prot(struct ata_queued_cmd *qc)
682{ 682{
683 switch (qc->tf.protocol) { 683 switch (qc->tf.protocol) {
684 case ATA_PROT_DMA: 684 case ATA_PROT_DMA:
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index a2333d2c7af0..6bac3d2668fa 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -584,8 +584,7 @@ static int scsi_request_sense(struct scsi_cmnd *scmd)
584 * keep a list of pending commands for final completion, and once we 584 * keep a list of pending commands for final completion, and once we
585 * are ready to leave error handling we handle completion for real. 585 * are ready to leave error handling we handle completion for real.
586 **/ 586 **/
587static void scsi_eh_finish_cmd(struct scsi_cmnd *scmd, 587void scsi_eh_finish_cmd(struct scsi_cmnd *scmd, struct list_head *done_q)
588 struct list_head *done_q)
589{ 588{
590 scmd->device->host->host_failed--; 589 scmd->device->host->host_failed--;
591 scmd->eh_eflags = 0; 590 scmd->eh_eflags = 0;
@@ -597,6 +596,7 @@ static void scsi_eh_finish_cmd(struct scsi_cmnd *scmd,
597 scsi_setup_cmd_retry(scmd); 596 scsi_setup_cmd_retry(scmd);
598 list_move_tail(&scmd->eh_entry, done_q); 597 list_move_tail(&scmd->eh_entry, done_q);
599} 598}
599EXPORT_SYMBOL(scsi_eh_finish_cmd);
600 600
601/** 601/**
602 * scsi_eh_get_sense - Get device sense data. 602 * scsi_eh_get_sense - Get device sense data.
@@ -1425,7 +1425,7 @@ static void scsi_eh_ready_devs(struct Scsi_Host *shost,
1425 * @done_q: list_head of processed commands. 1425 * @done_q: list_head of processed commands.
1426 * 1426 *
1427 **/ 1427 **/
1428static void scsi_eh_flush_done_q(struct list_head *done_q) 1428void scsi_eh_flush_done_q(struct list_head *done_q)
1429{ 1429{
1430 struct scsi_cmnd *scmd, *next; 1430 struct scsi_cmnd *scmd, *next;
1431 1431
@@ -1454,6 +1454,7 @@ static void scsi_eh_flush_done_q(struct list_head *done_q)
1454 } 1454 }
1455 } 1455 }
1456} 1456}
1457EXPORT_SYMBOL(scsi_eh_flush_done_q);
1457 1458
1458/** 1459/**
1459 * scsi_unjam_host - Attempt to fix a host which has a cmd that failed. 1460 * scsi_unjam_host - Attempt to fix a host which has a cmd that failed.
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 510aee82113a..5915f763b722 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -430,7 +430,7 @@ struct ata_port_operations {
430 void (*bmdma_start) (struct ata_queued_cmd *qc); 430 void (*bmdma_start) (struct ata_queued_cmd *qc);
431 431
432 void (*qc_prep) (struct ata_queued_cmd *qc); 432 void (*qc_prep) (struct ata_queued_cmd *qc);
433 int (*qc_issue) (struct ata_queued_cmd *qc); 433 unsigned int (*qc_issue) (struct ata_queued_cmd *qc);
434 434
435 void (*eng_timeout) (struct ata_port *ap); 435 void (*eng_timeout) (struct ata_port *ap);
436 436
@@ -518,7 +518,7 @@ extern void ata_port_stop (struct ata_port *ap);
518extern void ata_host_stop (struct ata_host_set *host_set); 518extern void ata_host_stop (struct ata_host_set *host_set);
519extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs); 519extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
520extern void ata_qc_prep(struct ata_queued_cmd *qc); 520extern void ata_qc_prep(struct ata_queued_cmd *qc);
521extern int ata_qc_issue_prot(struct ata_queued_cmd *qc); 521extern unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc);
522extern void ata_sg_init_one(struct ata_queued_cmd *qc, void *buf, 522extern void ata_sg_init_one(struct ata_queued_cmd *qc, void *buf,
523 unsigned int buflen); 523 unsigned int buflen);
524extern void ata_sg_init(struct ata_queued_cmd *qc, struct scatterlist *sg, 524extern void ata_sg_init(struct ata_queued_cmd *qc, struct scatterlist *sg,
diff --git a/include/scsi/scsi_eh.h b/include/scsi/scsi_eh.h
index fabd879c2f2e..d160880b2a87 100644
--- a/include/scsi/scsi_eh.h
+++ b/include/scsi/scsi_eh.h
@@ -35,6 +35,9 @@ static inline int scsi_sense_valid(struct scsi_sense_hdr *sshdr)
35} 35}
36 36
37 37
38extern void scsi_eh_finish_cmd(struct scsi_cmnd *scmd,
39 struct list_head *done_q);
40extern void scsi_eh_flush_done_q(struct list_head *done_q);
38extern void scsi_report_bus_reset(struct Scsi_Host *, int); 41extern void scsi_report_bus_reset(struct Scsi_Host *, int);
39extern void scsi_report_device_reset(struct Scsi_Host *, int, int); 42extern void scsi_report_device_reset(struct Scsi_Host *, int, int);
40extern int scsi_block_when_processing_errors(struct scsi_device *); 43extern int scsi_block_when_processing_errors(struct scsi_device *);