diff options
author | Ronghua Zang <ronghua@vmware.com> | 2010-07-16 01:18:47 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-16 01:18:47 -0400 |
commit | 6929fe8a37365148228206eea8577b3524afc463 (patch) | |
tree | a43dcfd1291840f34a549b9f5fc2f0cb6bad7e4b /drivers/net/vmxnet3/vmxnet3_drv.c | |
parent | ca802447c0b9dc12a8aa6552c9c7b3c7af31f492 (diff) |
net-next: vmxnet3 fixes [2/5] Interrupt control bitmap
A new bit map 'intrCtrl' is introduced in the DriverShared area. The
driver should update VMXNET3_IC_DISABLE_ALL bit before writing IMR.
Signed-off-by: Ronghua Zang <ronghua@vmware.com>
Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vmxnet3/vmxnet3_drv.c')
-rw-r--r-- | drivers/net/vmxnet3/vmxnet3_drv.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c index 989b742551ac..0fbfc67e0f79 100644 --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c | |||
@@ -72,6 +72,8 @@ vmxnet3_enable_all_intrs(struct vmxnet3_adapter *adapter) | |||
72 | 72 | ||
73 | for (i = 0; i < adapter->intr.num_intrs; i++) | 73 | for (i = 0; i < adapter->intr.num_intrs; i++) |
74 | vmxnet3_enable_intr(adapter, i); | 74 | vmxnet3_enable_intr(adapter, i); |
75 | adapter->shared->devRead.intrConf.intrCtrl &= | ||
76 | cpu_to_le32(~VMXNET3_IC_DISABLE_ALL); | ||
75 | } | 77 | } |
76 | 78 | ||
77 | 79 | ||
@@ -80,6 +82,8 @@ vmxnet3_disable_all_intrs(struct vmxnet3_adapter *adapter) | |||
80 | { | 82 | { |
81 | int i; | 83 | int i; |
82 | 84 | ||
85 | adapter->shared->devRead.intrConf.intrCtrl |= | ||
86 | cpu_to_le32(VMXNET3_IC_DISABLE_ALL); | ||
83 | for (i = 0; i < adapter->intr.num_intrs; i++) | 87 | for (i = 0; i < adapter->intr.num_intrs; i++) |
84 | vmxnet3_disable_intr(adapter, i); | 88 | vmxnet3_disable_intr(adapter, i); |
85 | } | 89 | } |
@@ -1825,6 +1829,7 @@ vmxnet3_setup_driver_shared(struct vmxnet3_adapter *adapter) | |||
1825 | devRead->intrConf.modLevels[i] = adapter->intr.mod_levels[i]; | 1829 | devRead->intrConf.modLevels[i] = adapter->intr.mod_levels[i]; |
1826 | 1830 | ||
1827 | devRead->intrConf.eventIntrIdx = adapter->intr.event_intr_idx; | 1831 | devRead->intrConf.eventIntrIdx = adapter->intr.event_intr_idx; |
1832 | devRead->intrConf.intrCtrl |= cpu_to_le32(VMXNET3_IC_DISABLE_ALL); | ||
1828 | 1833 | ||
1829 | /* rx filter settings */ | 1834 | /* rx filter settings */ |
1830 | devRead->rxFilterConf.rxMode = 0; | 1835 | devRead->rxFilterConf.rxMode = 0; |