View | Details | Raw Unified | Return to bug 368657
Collapse All | Expand All

(-)linux-2.6.16-SLES10_SP2_BRANCH/drivers/ata/libata-core.c (+7 lines)
Lines 122-127 module_param_call(slumber_timeout, ata_p Link Here
122
MODULE_PARM_DESC(slumber_timeout, "Host-initiated slumber powersave timeout "
122
MODULE_PARM_DESC(slumber_timeout, "Host-initiated slumber powersave timeout "
123
		 "(milliseconds, default 3000, 0 to disable)");
123
		 "(milliseconds, default 3000, 0 to disable)");
124
124
125
static int ata_irqstorm_workaround = 0;
126
module_param_named(irqstorm_workaround, ata_irqstorm_workaround, int, 0644);
127
125
int libata_ps_initialized;
128
int libata_ps_initialized;
126
129
127
MODULE_AUTHOR("Jeff Garzik");
130
MODULE_AUTHOR("Jeff Garzik");
Lines 5504-5509 inline unsigned int ata_host_intr (struc Link Here
5504
	return 1;	/* irq handled */
5507
	return 1;	/* irq handled */
5505
5508
5506
idle_irq:
5509
idle_irq:
5510
	if (ata_irqstorm_workaround)
5511
		ata_chk_status(ap);
5507
	ap->stats.idle_irq++;
5512
	ap->stats.idle_irq++;
5508
5513
5509
#ifdef ATA_IRQ_TRAP
5514
#ifdef ATA_IRQ_TRAP
Lines 5553-5558 irqreturn_t ata_interrupt (int irq, void Link Here
5553
			if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING)) &&
5558
			if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING)) &&
5554
			    (qc->flags & ATA_QCFLAG_ACTIVE))
5559
			    (qc->flags & ATA_QCFLAG_ACTIVE))
5555
				handled |= ata_host_intr(ap, qc);
5560
				handled |= ata_host_intr(ap, qc);
5561
			else if (ata_irqstorm_workaround)
5562
				ata_chk_status(ap);
5556
		}
5563
		}
5557
	}
5564
	}
5558
5565

Return to bug 368657