ahci: don't enable port irq before handler is registered
commit068e0202c8c0822c36025198607d1e47d779c86f
authorMaxime Bizon <mbizon@freebox.fr>
Wed, 16 Mar 2011 13:58:32 +0000 (16 14:58 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 2 May 2011 16:19:39 +0000 (2 09:19 -0700)
treee627322ad55cd851596fb6e78f391cf61cc06719
parentcb6f6c06a5e23fe12f1898a072edc670420ebc1f
ahci: don't enable port irq before handler is registered

commit 7b3a24c57d2eeda8dba9c205342b12689c4679f9 upstream.

The ahci_pmp_attach() & ahci_pmp_detach() unmask port irqs, but they
are also called during port initialization, before ahci host irq
handler is registered. On ce4100 platform, this sometimes triggers
"irq 4: nobody cared" message when loading driver.

Fixed this by not touching the register if the port is in frozen
state, and mark all uninitialized port as frozen.

Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/ata/libahci.c
drivers/ata/libata-core.c