diff options
-rw-r--r-- | drivers/net/qlcnic/qlcnic_ethtool.c | 6 | ||||
-rw-r--r-- | drivers/net/qlcnic/qlcnic_main.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c index 65e9620e28f1..37df5f6cea08 100644 --- a/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/qlcnic/qlcnic_ethtool.c | |||
@@ -326,12 +326,12 @@ qlcnic_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *p) | |||
326 | regs->version = (1 << 24) | (adapter->ahw.revision_id << 16) | | 326 | regs->version = (1 << 24) | (adapter->ahw.revision_id << 16) | |
327 | (adapter->pdev)->device; | 327 | (adapter->pdev)->device; |
328 | 328 | ||
329 | if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC) | ||
330 | return; | ||
331 | |||
332 | for (i = 0; diag_registers[i] != -1; i++) | 329 | for (i = 0; diag_registers[i] != -1; i++) |
333 | regs_buff[i] = QLCRD32(adapter, diag_registers[i]); | 330 | regs_buff[i] = QLCRD32(adapter, diag_registers[i]); |
334 | 331 | ||
332 | if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC) | ||
333 | return; | ||
334 | |||
335 | regs_buff[i++] = 0xFFEFCDAB; /* Marker btw regs and ring count*/ | 335 | regs_buff[i++] = 0xFFEFCDAB; /* Marker btw regs and ring count*/ |
336 | 336 | ||
337 | regs_buff[i++] = 1; /* No. of tx ring */ | 337 | regs_buff[i++] = 1; /* No. of tx ring */ |
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c index 9a98285ee791..7259adc32631 100644 --- a/drivers/net/qlcnic/qlcnic_main.c +++ b/drivers/net/qlcnic/qlcnic_main.c | |||
@@ -2051,7 +2051,9 @@ qlcnic_detach_work(struct work_struct *work) | |||
2051 | 2051 | ||
2052 | qlcnic_down(adapter, netdev); | 2052 | qlcnic_down(adapter, netdev); |
2053 | 2053 | ||
2054 | rtnl_lock(); | ||
2054 | qlcnic_detach(adapter); | 2055 | qlcnic_detach(adapter); |
2056 | rtnl_unlock(); | ||
2055 | 2057 | ||
2056 | status = QLCRD32(adapter, QLCNIC_PEG_HALT_STATUS1); | 2058 | status = QLCRD32(adapter, QLCNIC_PEG_HALT_STATUS1); |
2057 | 2059 | ||