On Thu, 14 Jun 2007 19:02:54 -0400 Jeff Garzik <jeff@xxxxxxxxxx> wrote: > Stephen Hemminger wrote: > > On Thu, 14 Jun 2007 14:52:42 -0400 > > Jeff Garzik <jeff@xxxxxxxxxx> wrote: > > > >> Stephen Hemminger wrote: > >>> The previous patch would crash on remove. pci_disable_msi has to be > >>> called after free_irq. FYI - pci_disable_msi is safe if MSI hasn't been > >>> enabled. > >>> > >>> --- a/drivers/net/wireless/mac80211/iwlwifi/base.c 2007-06-13 11:10:10.000000000 -0700 > >>> +++ b/drivers/net/wireless/mac80211/iwlwifi/base.c 2007-06-14 11:47:01.000000000 -0700 > >>> @@ -8117,10 +8117,13 @@ static int iwl_pci_probe(struct pci_dev > >>> /* If power management is turned on, default to AC mode */ > >>> priv->power_mode = IWL_POWER_AC; > >>> priv->user_txpower_limit = IWL_DEFAULT_TX_POWER; > >>> + > >>> + pci_enable_msi(pdev); > >> The API wants fixing, if code that fails to check return value of > >> pci_enable_msi() is being written. > >> > >> We should definitely be checking the return value there... > >> > >> Jeff > >> > > > > I don't understand. pci_enable_msi() returns error if device doesn't > > do MSI, that's fine. > > It also returns errors for conditions other than "doesn't do MSI", and > therein lies the problem with not checking return values. Errors: Not MSI device - don't care MSI disabled globally - don-t care Already doing MSI-X - message already, don't care Out of memory can't setup - don't care The error codes are a mess so it is better to just not print anything and just continue on with normal INT mode. - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html