Re: [PATCH] iwl3945: Fix oops at module load

From: Guy, Wey-Yi
Date: Mon Nov 08 2010 - 17:12:46 EST


Hi Andi,

On Mon, 2010-11-08 at 13:54 -0800, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> On my laptop the iwl3945 driver oopsed at boot with 2.6.37-rc1
> in __dev_printk.
>
> The problem is that for some reason it prints the sw scan
> warning, but does that before the pci device is initialized
> in the driver private structure. This leads to an oops
> in the warning print code.
>
> Move the warning after the device has been initialized.
>
> Cc: Johannes.berg@xxxxxxxxx
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> ---
> drivers/net/wireless/iwlwifi/iwl3945-base.c | 11 +++++------
> 1 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
> index 8f8c4b7..3910ec2 100644
> --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
> +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
> @@ -3995,6 +3995,11 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
> priv->contexts[IWL_RXON_CTX_BSS].station_devtype = RXON_DEV_TYPE_ESS;
> priv->contexts[IWL_RXON_CTX_BSS].unused_devtype = RXON_DEV_TYPE_ESS;
>
> + IWL_DEBUG_INFO(priv, "*** LOAD DRIVER ***\n");
> + priv->cfg = cfg;
> + priv->pci_dev = pdev;
> + priv->inta_mask = CSR_INI_SET_MASK;
> +
> /*
> * Disabling hardware scan means that mac80211 will perform scans
> * "the hard way", rather than using device's scan.
> @@ -4004,12 +4009,6 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
> iwl3945_hw_ops.hw_scan = NULL;
> }
>
> -
> - IWL_DEBUG_INFO(priv, "*** LOAD DRIVER ***\n");
> - priv->cfg = cfg;
> - priv->pci_dev = pdev;
> - priv->inta_mask = CSR_INI_SET_MASK;
> -
> if (iwl_alloc_traffic_mem(priv))
> IWL_ERR(priv, "Not enough memory to generate traffic log\n");
>

I believe the fix already in
http://git.kernel.org/?p=linux/kernel/git/iwlwifi/iwlwifi-2.6.git;a=summary
commit#6e0922e0781884ff4eb3638f10a91b63b6120207

Thanks
Wey

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/