From patchwork Sat Aug 6 19:43:51 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Emmanuel Grumbach X-Patchwork-Id: 1041982 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p76Jhtvc020610 for ; Sat, 6 Aug 2011 19:43:55 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756684Ab1HFTnx (ORCPT ); Sat, 6 Aug 2011 15:43:53 -0400 Received: from mail-gy0-f174.google.com ([209.85.160.174]:33486 "EHLO mail-gy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756633Ab1HFTnw (ORCPT ); Sat, 6 Aug 2011 15:43:52 -0400 Received: by gya6 with SMTP id 6so704240gya.19 for ; Sat, 06 Aug 2011 12:43:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=leqrCxctiqNgteEH1ZZI090X3jCzZoNfGehzb3TL6VI=; b=wWZi3GQW3fINvc3fPSKXug1n5McoSX6TpeNtLeK0TWkjqaXp72Kg4tmtCnp8Wq02ER L78msJeOt/dzp8iC+4JkGn2fAS1vru4otEz//tasov8RltRN6128efecCO8CaNW+VjiY SMI8J8WTo+eas72A8nL4qNMOMeQdA7lWmc9nM= MIME-Version: 1.0 Received: by 10.142.211.15 with SMTP id j15mr3713423wfg.219.1312659831379; Sat, 06 Aug 2011 12:43:51 -0700 (PDT) Received: by 10.68.54.69 with HTTP; Sat, 6 Aug 2011 12:43:51 -0700 (PDT) In-Reply-To: References: <1312228017-12061-1-git-send-email-wey-yi.w.guy@intel.com> <4825B8A2C4E264489E57869F0DCFB22344563F4ABE@hasmsx502.ger.corp.intel.com> <1312499702.15170.17.camel@wwguy-huron> <20110805225051.435fe1b0@mj> Date: Sat, 6 Aug 2011 22:43:51 +0300 Message-ID: Subject: Re: [PATCH wireless-3.1] iwlagn: sysfs couldn't find the priv pointer From: Emmanuel Grumbach To: "Guy, Wey-Yi W" Cc: Pavel Roskin , "Grumbach, Emmanuel" , Daniel Halperin , "linville@tuxdriver.com" , "linux-wireless@vger.kernel.org" Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Sat, 06 Aug 2011 19:43:55 +0000 (UTC) Can you please try that one ? I don't have my machine near me, and don't want to crash it remotely, so I didn't test it. I will test in on Sunday. diff --git a/drivers/net/wireless/iwlwifi/iwl-pci.c b/drivers/net/wireless/iwlwifi/iwl-pci.c index 69d4ec4..2fdbffa 100644 --- a/drivers/net/wireless/iwlwifi/iwl-pci.c +++ b/drivers/net/wireless/iwlwifi/iwl-pci.c @@ -478,27 +478,22 @@ out_no_pci: return err; } -static void iwl_pci_down(struct iwl_bus *bus) -{ - struct iwl_pci_bus *pci_bus = (struct iwl_pci_bus *) bus->bus_specific; - - pci_disable_msi(pci_bus->pci_dev); - pci_iounmap(pci_bus->pci_dev, pci_bus->hw_base); - pci_release_regions(pci_bus->pci_dev); - pci_disable_device(pci_bus->pci_dev); - pci_set_drvdata(pci_bus->pci_dev, NULL); - - kfree(bus); -} - static void __devexit iwl_pci_remove(struct pci_dev *pdev) { struct iwl_priv *priv = pci_get_drvdata(pdev); - void *bus_specific = priv->bus->bus_specific; + struct iwl_bus *bus = priv->bus; + struct iwl_pci_bus *pci_bus = IWL_BUS_GET_PCI_BUS(bus); + struct pci_dev *pci_dev = IWL_BUS_GET_PCI_DEV(bus); iwl_remove(priv); - iwl_pci_down(bus_specific); + pci_disable_msi(pci_dev); + pci_iounmap(pci_dev, pci_bus->hw_base); + pci_release_regions(pci_dev); + pci_disable_device(pci_dev); + pci_set_drvdata(pci_dev, NULL); + + kfree(bus); } #ifdef CONFIG_PM