Messages in this thread | | | From | Chetan.Loke@Emulex ... | Date | Thu, 6 Aug 2009 09:28:02 -0700 | Subject | RE: [PATCH 2.6.32 v2] MCP55 SATA2 conditional MSI support for sata_nv |
| |
> -----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_nv > > > 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
| |