diff options
author | Benjamin Poirier <bpoirier@suse.de> | 2012-04-06 07:20:21 +0000 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-05-13 15:02:43 +0100 |
commit | 449132d0c7163cdc82c29ae4eed3bf6ad6677274 (patch) | |
tree | 878ed7e1ce83f140f5a12465aba32087d2fde0c5 | |
parent | 53e587aa5ca81497d0ea6e340320ec5778d1f311 (diff) | |
download | lwn-449132d0c7163cdc82c29ae4eed3bf6ad6677274.tar.gz lwn-449132d0c7163cdc82c29ae4eed3bf6ad6677274.zip |
ixgbe: add missing rtnl_lock in PM resume path
commit 34948a947d1a576c10afee6d14792fd237549577 upstream.
Upon resume from standby, ixgbe may trigger the ASSERT_RTNL() in
netif_set_real_num_tx_queues(). The call stack is:
netif_set_real_num_tx_queues
ixgbe_set_num_queues
ixgbe_init_interrupt_scheme
ixgbe_resume
Signed-off-by: Benjamin Poirier <bpoirier@suse.de>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 70ad75d30808..d93eee1d4388 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -5418,7 +5418,9 @@ static int ixgbe_resume(struct pci_dev *pdev) pci_wake_from_d3(pdev, false); + rtnl_lock(); err = ixgbe_init_interrupt_scheme(adapter); + rtnl_unlock(); if (err) { e_dev_err("Cannot initialize interrupts for device\n"); return err; |