lkml.org 
[lkml]   [2009]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[127/151] ipw2100: fix rebooting hang with driver loaded
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Zhu Yi <yi.zhu@intel.com>

    commit 52ce3e9a7db754b78cf2cbabc87013f921b25b28 upstream.

    Add PCI .shutdown method so that we can disable the device during
    shutdown or reboot. Without this, the reboot doesn't work well on
    some platforms.

    This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2124

    Tested-by: pablo <pablolm2005@gmail.com>
    Signed-off-by: Zhu Yi <yi.zhu@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/net/wireless/ipw2x00/ipw2100.c | 11 +++++++++++
    1 file changed, 11 insertions(+)

    --- a/drivers/net/wireless/ipw2x00/ipw2100.c
    +++ b/drivers/net/wireless/ipw2x00/ipw2100.c
    @@ -6487,6 +6487,16 @@ static int ipw2100_resume(struct pci_dev
    }
    #endif

    +static void ipw2100_shutdown(struct pci_dev *pci_dev)
    +{
    + struct ipw2100_priv *priv = pci_get_drvdata(pci_dev);
    +
    + /* Take down the device; powers it off, etc. */
    + ipw2100_down(priv);
    +
    + pci_disable_device(pci_dev);
    +}
    +
    #define IPW2100_DEV_ID(x) { PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, x }

    static struct pci_device_id ipw2100_pci_id_table[] __devinitdata = {
    @@ -6550,6 +6560,7 @@ static struct pci_driver ipw2100_pci_dri
    .suspend = ipw2100_suspend,
    .resume = ipw2100_resume,
    #endif
    + .shutdown = ipw2100_shutdown,
    };

    /**



    \
     
     \ /
      Last update: 2009-12-17 05:19    [W:0.022 / U:3.192 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site