lkml.org 
[lkml]   [2013]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [ 069/100] e1000e: fix pci-device enable-counter balance
    Konstantin Khlebnikov wrote:
    > Greg Kroah-Hartman wrote:
    >> 3.8-stable review patch. If anyone has any objections, please let me know.
    >
    > Vivek Goyal reported about problem caused by this improper fix.
    >
    > https://lkml.org/lkml/2013/3/12/529
    >
    > (this patch also pending to 3.0-stable and 3.4-stable)

    Sorry, I'm wrong. This patch is correct.
    Problem in pci_device_shutdown(), that was in another patch.

    >
    >>
    >> ------------------
    >>
    >> From: Konstantin Khlebnikov<khlebnikov@openvz.org>
    >>
    >> commit 4e0855dff094b0d56d6b5b271e0ce7851cc1e063 upstream.
    >>
    >> This patch removes redundant and unbalanced pci_disable_device() from
    >> __e1000_shutdown(). pci_clear_master() is enough, device can go into
    >> suspended state with elevated enable_cnt.
    >>
    >> Bug was introduced in commit 23606cf5d1192c2b17912cb2ef6e62f9b11de133
    >> ("e1000e / PCI / PM: Add basic runtime PM support (rev. 4)") in v2.6.35
    >>
    >> Signed-off-by: Konstantin Khlebnikov<khlebnikov@openvz.org>
    >> Cc: Bruce Allan<bruce.w.allan@intel.com>
    >> Acked-by: Rafael J. Wysocki<rafael.j.wysocki@intel.com>
    >> Tested-by: Borislav Petkov<bp@suse.de>
    >> Tested-by: Aaron Brown<aaron.f.brown@intel.com>
    >> Signed-off-by: Jeff Kirsher<jeffrey.t.kirsher@intel.com>
    >> Signed-off-by: Greg Kroah-Hartman<gregkh@linuxfoundation.org>
    >>
    >> ---
    >> drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
    >> 1 file changed, 1 insertion(+), 1 deletion(-)
    >>
    >> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
    >> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
    >> @@ -5549,7 +5549,7 @@ static int __e1000_shutdown(struct pci_d
    >> */
    >> e1000e_release_hw_control(adapter);
    >>
    >> - pci_disable_device(pdev);
    >> + pci_clear_master(pdev);
    >>
    >> return 0;
    >> }
    >>
    >>
    >



    \
     
     \ /
      Last update: 2013-03-13 10:21    [W:4.226 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site