On Sat, Apr 12, 2014 at 6:11 PM, Alexander Monakov <amonakov@xxxxxxxxx> wrote: > Hello, > > On a laptop with Wireless-N 135 card and 3.14.0 kernel I'm getting a > kernel oops on cold boot ans wireless seems unusable, but suprisingly > everything works fine after a reboot: > > [ 4.155609] Intel(R) Wireless WiFi driver for Linux, in-tree: > [ 4.155611] Copyright(c) 2003- 2014 Intel Corporation > [ 4.155745] iwlwifi 0000:05:00.0: can't disable ASPM; OS doesn't > have ASPM control > [ 4.155810] iwlwifi 0000:05:00.0: pci_enable_msi failed(0Xffffffda) > [ 4.173755] iwlwifi 0000:05:00.0: RF_KILL bit toggled to enable radio. > [ 4.173763] BUG: unable to handle kernel NULL pointer dereference > at (null) > [ 4.175243] IP: [<ffffffffa00057a0>] > iwl_pcie_irq_handler+0xa10/0xb50 [iwlwifi] > [ 4.176641] PGD 0 > [ 4.176874] iwlwifi 0000:05:00.0: loaded firmware version > 18.168.6.1 op_mode iwldvm > [ 4.179239] Oops: 0000 [#1] SMP > [ 4.180623] Modules linked in: iwlwifi > Wow - interesting - you are getting an interrupt before we even enable them. Does this help you? diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c index 37f7acc..bebab4e 100644 --- a/drivers/net/wireless/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/iwlwifi/pcie/trans.c @@ -1803,6 +1803,10 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev, * PCI Tx retries from interfering with C3 CPU state */ pci_write_config_byte(pdev, PCI_CFG_RETRY_TIMEOUT, 0x00); + trans->dev = &pdev->dev; + trans_pcie->pci_dev = pdev; + iwl_disable_interrupts(trans); + err = pci_enable_msi(pdev); if (err) { dev_err(&pdev->dev, "pci_enable_msi failed(0X%x)\n", err); @@ -1814,8 +1818,6 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev, } } - trans->dev = &pdev->dev; - trans_pcie->pci_dev = pdev; trans->hw_rev = iwl_read32(trans, CSR_HW_REV); trans->hw_id = (pdev->device << 16) + pdev->subsystem_device; snprintf(trans->hw_id_str, sizeof(trans->hw_id_str), -- 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