RE: [PATCH 2.6.32 v2] MCP55 SATA2 conditional MSI support for sata_nv
From: <hidden>
Date: 2009-08-06 16:28:16
Also in:
lkml
-----Original Message----- From: Tony Vroon [mailto:tony@linx.net] Sent: Thursday, August 06, 2009 11:59 AM To: Loke,Chetan Cc: hancockrwd@gmail.com; jgarzik@pobox.com; linux-ide@vger.kernel.org; linux-kernel@vger.kernel.org; philipl@overt.org Subject: RE: [PATCH 2.6.32 v2] MCP55 SATA2 conditional MSI support for sata_nvquoted
disable_msi() is missing right?I didn't add that as none of the other drivers have it:
Then they would leak the MSI-vectors if request_irq fails.
chainsaw@amalthea /cvs/linux-2.6/drivers/ata $ grep _msi * | grep pci ahci.c: pci_enable_msi(pdev); sata_mv.c: if (msi && pci_enable_msi(pdev) == 0) sata_vsc.c: if (pci_enable_msi(pdev) == 0) (This is a tree without the sata_nv change I submitted) I do believe it is safe to shut the interrupt down and unload the handler whilst it is still in MSI mode. At least, I don't see the libata core special-casing it in any way.
If I'm not wrong then that's how it's supposed to be done. free_irq and then disable_msi. You can't reverse the order. Also the driver should know when to quiesce the ASIC. So quiesce first and then shutdown everything.
Regards, Tony V.
Regards Chetan