aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r--drivers/ata/libata-core.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index f210dbd4cbe6..2e8ca652c0d9 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2664,8 +2664,7 @@ void ata_bus_reset(struct ata_port *ap)
2664 ap->device[1].class = ata_dev_try_classify(ap, 1, &err); 2664 ap->device[1].class = ata_dev_try_classify(ap, 1, &err);
2665 2665
2666 /* re-enable interrupts */ 2666 /* re-enable interrupts */
2667 if (ap->ioaddr.ctl_addr) /* FIXME: hack. create a hook instead */ 2667 ap->ops->irq_on(ap);
2668 ata_irq_on(ap);
2669 2668
2670 /* is double-select really necessary? */ 2669 /* is double-select really necessary? */
2671 if (ap->device[1].class != ATA_DEV_NONE) 2670 if (ap->device[1].class != ATA_DEV_NONE)
@@ -3054,11 +3053,8 @@ void ata_std_postreset(struct ata_port *ap, unsigned int *classes)
3054 sata_scr_write(ap, SCR_ERROR, serror); 3053 sata_scr_write(ap, SCR_ERROR, serror);
3055 3054
3056 /* re-enable interrupts */ 3055 /* re-enable interrupts */
3057 if (!ap->ops->error_handler) { 3056 if (!ap->ops->error_handler)
3058 /* FIXME: hack. create a hook instead */ 3057 ap->ops->irq_on(ap);
3059 if (ap->ioaddr.ctl_addr)
3060 ata_irq_on(ap);
3061 }
3062 3058
3063 /* is double-select really necessary? */ 3059 /* is double-select really necessary? */
3064 if (classes[0] != ATA_DEV_NONE) 3060 if (classes[0] != ATA_DEV_NONE)
@@ -4169,7 +4165,7 @@ static void ata_hsm_qc_complete(struct ata_queued_cmd *qc, int in_wq)
4169 qc = ata_qc_from_tag(ap, qc->tag); 4165 qc = ata_qc_from_tag(ap, qc->tag);
4170 if (qc) { 4166 if (qc) {
4171 if (likely(!(qc->err_mask & AC_ERR_HSM))) { 4167 if (likely(!(qc->err_mask & AC_ERR_HSM))) {
4172 ata_irq_on(ap); 4168 ap->ops->irq_on(ap);
4173 ata_qc_complete(qc); 4169 ata_qc_complete(qc);
4174 } else 4170 } else
4175 ata_port_freeze(ap); 4171 ata_port_freeze(ap);
@@ -4185,7 +4181,7 @@ static void ata_hsm_qc_complete(struct ata_queued_cmd *qc, int in_wq)
4185 } else { 4181 } else {
4186 if (in_wq) { 4182 if (in_wq) {
4187 spin_lock_irqsave(ap->lock, flags); 4183 spin_lock_irqsave(ap->lock, flags);
4188 ata_irq_on(ap); 4184 ap->ops->irq_on(ap);
4189 ata_qc_complete(qc); 4185 ata_qc_complete(qc);
4190 spin_unlock_irqrestore(ap->lock, flags); 4186 spin_unlock_irqrestore(ap->lock, flags);
4191 } else 4187 } else
@@ -5010,7 +5006,7 @@ idle_irq:
5010 5006
5011#ifdef ATA_IRQ_TRAP 5007#ifdef ATA_IRQ_TRAP
5012 if ((ap->stats.idle_irq % 1000) == 0) { 5008 if ((ap->stats.idle_irq % 1000) == 0) {
5013 ata_irq_ack(ap, 0); /* debug trap */ 5009 ap->ops->irq_ack(ap, 0); /* debug trap */
5014 ata_port_printk(ap, KERN_WARNING, "irq trap\n"); 5010 ata_port_printk(ap, KERN_WARNING, "irq trap\n");
5015 return 1; 5011 return 1;
5016 } 5012 }
@@ -6271,3 +6267,7 @@ EXPORT_SYMBOL_GPL(ata_eh_thaw_port);
6271EXPORT_SYMBOL_GPL(ata_eh_qc_complete); 6267EXPORT_SYMBOL_GPL(ata_eh_qc_complete);
6272EXPORT_SYMBOL_GPL(ata_eh_qc_retry); 6268EXPORT_SYMBOL_GPL(ata_eh_qc_retry);
6273EXPORT_SYMBOL_GPL(ata_do_eh); 6269EXPORT_SYMBOL_GPL(ata_do_eh);
6270EXPORT_SYMBOL_GPL(ata_irq_on);
6271EXPORT_SYMBOL_GPL(ata_dummy_irq_on);
6272EXPORT_SYMBOL_GPL(ata_irq_ack);
6273EXPORT_SYMBOL_GPL(ata_dummy_irq_ack);