aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/qlogic')
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c4
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c9
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c6
3 files changed, 12 insertions, 7 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
index cdcbbb0e40cb..d23372e2a4a3 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
@@ -1239,10 +1239,10 @@ void qlcnic_83xx_register_nic_idc_func(struct qlcnic_adapter *adapter,
1239 1239
1240 if (enable) { 1240 if (enable) {
1241 qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_INIT_NIC_FUNC); 1241 qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_INIT_NIC_FUNC);
1242 cmd.req.arg[1] = 1 | BIT_0; 1242 cmd.req.arg[1] = BIT_0 | BIT_31;
1243 } else { 1243 } else {
1244 qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_STOP_NIC_FUNC); 1244 qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_STOP_NIC_FUNC);
1245 cmd.req.arg[1] = 0 | BIT_0; 1245 cmd.req.arg[1] = BIT_0 | BIT_31;
1246 } 1246 }
1247 status = qlcnic_issue_cmd(adapter, &cmd); 1247 status = qlcnic_issue_cmd(adapter, &cmd);
1248 if (status) 1248 if (status)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
index f6470027d0fc..c53832b02b3e 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
@@ -585,6 +585,9 @@ static int qlcnic_83xx_idc_check_fan_failure(struct qlcnic_adapter *adapter)
585 585
586static int qlcnic_83xx_idc_reattach_driver(struct qlcnic_adapter *adapter) 586static int qlcnic_83xx_idc_reattach_driver(struct qlcnic_adapter *adapter)
587{ 587{
588 /* register for NIC IDC AEN Events */
589 qlcnic_83xx_register_nic_idc_func(adapter, 1);
590
588 qlcnic_83xx_enable_mbx_intrpt(adapter); 591 qlcnic_83xx_enable_mbx_intrpt(adapter);
589 if ((adapter->flags & QLCNIC_MSIX_ENABLED)) { 592 if ((adapter->flags & QLCNIC_MSIX_ENABLED)) {
590 if (qlcnic_83xx_config_intrpt(adapter, 1)) { 593 if (qlcnic_83xx_config_intrpt(adapter, 1)) {
@@ -2025,6 +2028,9 @@ int qlcnic_83xx_init(struct qlcnic_adapter *adapter)
2025 set_bit(QLC_83XX_MBX_READY, &adapter->ahw->idc.status); 2028 set_bit(QLC_83XX_MBX_READY, &adapter->ahw->idc.status);
2026 qlcnic_83xx_clear_function_resources(adapter); 2029 qlcnic_83xx_clear_function_resources(adapter);
2027 2030
2031 /* register for NIC IDC AEN Events */
2032 qlcnic_83xx_register_nic_idc_func(adapter, 1);
2033
2028 if (!qlcnic_83xx_read_flash_descriptor_table(adapter)) 2034 if (!qlcnic_83xx_read_flash_descriptor_table(adapter))
2029 qlcnic_83xx_read_flash_mfg_id(adapter); 2035 qlcnic_83xx_read_flash_mfg_id(adapter);
2030 2036
@@ -2041,9 +2047,6 @@ int qlcnic_83xx_init(struct qlcnic_adapter *adapter)
2041 2047
2042 INIT_DELAYED_WORK(&adapter->idc_aen_work, qlcnic_83xx_idc_aen_work); 2048 INIT_DELAYED_WORK(&adapter->idc_aen_work, qlcnic_83xx_idc_aen_work);
2043 2049
2044 /* register for NIC IDC AEN Events */
2045 qlcnic_83xx_register_nic_idc_func(adapter, 1);
2046
2047 /* Periodically monitor device status */ 2050 /* Periodically monitor device status */
2048 qlcnic_83xx_idc_poll_dev_state(&adapter->fw_work.work); 2051 qlcnic_83xx_idc_poll_dev_state(&adapter->fw_work.work);
2049 2052
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
index d0aef32d0390..714124abf69a 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
@@ -1174,8 +1174,6 @@ qlcnic_set_mgmt_operations(struct qlcnic_adapter *adapter)
1174 1174
1175 qlcnic_dev_set_npar_ready(adapter); 1175 qlcnic_dev_set_npar_ready(adapter);
1176 1176
1177 if (qlcnic_83xx_check(adapter))
1178 qlcnic_83xx_register_nic_idc_func(adapter, 1);
1179 return err; 1177 return err;
1180} 1178}
1181 1179
@@ -3063,6 +3061,8 @@ static int qlcnic_attach_func(struct pci_dev *pdev)
3063 } 3061 }
3064 3062
3065 if (qlcnic_83xx_check(adapter)) { 3063 if (qlcnic_83xx_check(adapter)) {
3064 /* register for NIC IDC AEN Events */
3065 qlcnic_83xx_register_nic_idc_func(adapter, 1);
3066 err = qlcnic_83xx_setup_mbx_intr(adapter); 3066 err = qlcnic_83xx_setup_mbx_intr(adapter);
3067 if (err) { 3067 if (err) {
3068 dev_err(&adapter->pdev->dev, 3068 dev_err(&adapter->pdev->dev,
@@ -3224,6 +3224,8 @@ int qlcnic_set_max_rss(struct qlcnic_adapter *adapter, u8 data, size_t len)
3224 } 3224 }
3225 3225
3226 if (qlcnic_83xx_check(adapter)) { 3226 if (qlcnic_83xx_check(adapter)) {
3227 /* register for NIC IDC AEN Events */
3228 qlcnic_83xx_register_nic_idc_func(adapter, 1);
3227 err = qlcnic_83xx_setup_mbx_intr(adapter); 3229 err = qlcnic_83xx_setup_mbx_intr(adapter);
3228 if (err) { 3230 if (err) {
3229 dev_err(&adapter->pdev->dev, 3231 dev_err(&adapter->pdev->dev,