* [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling.
@ 2013-08-15 12:27 Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 1/5] qlcnic: Reinitialize mailbox data structures after firmware reset Sucheta Chakraborty
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Sucheta Chakraborty @ 2013-08-15 12:27 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev
All the bug fixes in this series are dependent on net-next patches which were
submitted previously by commit (qlcnic: Interrupt based driver firmware mailbox
mechanism, commit id - e5c4e6c696aea58fbea5758e8b2841d2b0309cf7).
Please apply this series to net-next.
Thanks,
Sucheta.
Manish Chopra (4):
qlcnic: Reinitialize mailbox data structures after firmware reset
qlcnic: Flush mailbox command list when mailbox is not available
qlcnic: Fix driver initialization for 83xx adapters
qlcnic: Dump mailbox command data when a command times out
Sucheta Chakraborty (1):
qlcnic: Update version to 5.2.46.
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 4 ++--
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 8 +++++++-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 14 +++++++-------
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 2 +-
4 files changed, 17 insertions(+), 11 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH net-next 1/5] qlcnic: Reinitialize mailbox data structures after firmware reset
2013-08-15 12:27 [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling Sucheta Chakraborty
@ 2013-08-15 12:27 ` Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 2/5] qlcnic: Flush mailbox command list when mailbox is not available Sucheta Chakraborty
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Sucheta Chakraborty @ 2013-08-15 12:27 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev, Manish Chopra
From: Manish Chopra <manish.chopra@qlogic.com>
o After firmware reset VFs were failing to come up because of not
reinitializing mailbox data structures. Reinitialize them so that
VFs can come up after firmware reset.
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
index 046286a..dc24979 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
@@ -1556,7 +1556,7 @@ static int qlcnic_sriov_vf_reinit_driver(struct qlcnic_adapter *adapter)
{
int err;
- set_bit(QLC_83XX_MBX_READY, &adapter->ahw->idc.status);
+ qlcnic_83xx_reinit_mbx_work(adapter->ahw->mailbox);
qlcnic_83xx_enable_mbx_interrupt(adapter);
err = qlcnic_sriov_cfg_bc_intr(adapter, 1);
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH net-next 2/5] qlcnic: Flush mailbox command list when mailbox is not available
2013-08-15 12:27 [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 1/5] qlcnic: Reinitialize mailbox data structures after firmware reset Sucheta Chakraborty
@ 2013-08-15 12:27 ` Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 3/5] qlcnic: Fix driver initialization for 83xx adapters Sucheta Chakraborty
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Sucheta Chakraborty @ 2013-08-15 12:27 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev, Manish Chopra
From: Manish Chopra <manish.chopra@qlogic.com>
o Driver was hitting a panic at the time of adapter reset due to invalid command
access from the list which had been already freed by the queuing thread.
Flush all the pending commands from the list before proceeding with adapter reset
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
index 55a5977..43b51a0 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
@@ -3515,6 +3515,8 @@ static inline void qlcnic_83xx_flush_mbx_queue(struct qlcnic_adapter *adapter)
while (!list_empty(head)) {
cmd = list_entry(head->next, struct qlcnic_cmd_args, list);
+ dev_info(&adapter->pdev->dev, "%s: Mailbox command 0x%x\n",
+ __func__, cmd->cmd_op);
list_del(&cmd->list);
mbx->num_cmds--;
qlcnic_83xx_notify_cmd_completion(adapter, cmd);
@@ -3534,6 +3536,7 @@ static inline int qlcnic_83xx_check_mbx_status(struct qlcnic_adapter *adapter)
host_mbx_ctrl = QLCRDX(ahw, QLCNIC_HOST_MBX_CTRL);
if (host_mbx_ctrl) {
+ clear_bit(QLC_83XX_MBX_READY, &mbx->status);
ahw->idc.collect_dump = 1;
return -EIO;
}
@@ -3704,8 +3707,10 @@ static void qlcnic_83xx_mailbox_worker(struct work_struct *work)
ahw = adapter->ahw;
while (true) {
- if (qlcnic_83xx_check_mbx_status(adapter))
+ if (qlcnic_83xx_check_mbx_status(adapter)) {
+ qlcnic_83xx_flush_mbx_queue(adapter);
return;
+ }
atomic_set(rsp_status, QLC_83XX_MBX_RESPONSE_WAIT);
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH net-next 3/5] qlcnic: Fix driver initialization for 83xx adapters
2013-08-15 12:27 [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 1/5] qlcnic: Reinitialize mailbox data structures after firmware reset Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 2/5] qlcnic: Flush mailbox command list when mailbox is not available Sucheta Chakraborty
@ 2013-08-15 12:27 ` Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 4/5] qlcnic: Dump mailbox command data when a command times out Sucheta Chakraborty
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Sucheta Chakraborty @ 2013-08-15 12:27 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev, Manish Chopra
From: Manish Chopra <manish.chopra@qlogic.com>
o Load firmware from file before setting up interrupts.
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
index cc1e32a..17c26a1 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
@@ -2169,6 +2169,13 @@ int qlcnic_83xx_init(struct qlcnic_adapter *adapter, int pci_using_dac)
if (err)
goto detach_mbx;
+ if (!qlcnic_83xx_read_flash_descriptor_table(adapter))
+ qlcnic_83xx_read_flash_mfg_id(adapter);
+
+ err = qlcnic_83xx_idc_init(adapter);
+ if (err)
+ goto detach_mbx;
+
err = qlcnic_setup_intr(adapter, 0);
if (err) {
dev_err(&adapter->pdev->dev, "Failed to setup interrupt\n");
@@ -2186,13 +2193,6 @@ int qlcnic_83xx_init(struct qlcnic_adapter *adapter, int pci_using_dac)
/* register for NIC IDC AEN Events */
qlcnic_83xx_register_nic_idc_func(adapter, 1);
- if (!qlcnic_83xx_read_flash_descriptor_table(adapter))
- qlcnic_83xx_read_flash_mfg_id(adapter);
-
- err = qlcnic_83xx_idc_init(adapter);
- if (err)
- goto disable_mbx_intr;
-
/* Configure default, SR-IOV or Virtual NIC mode of operation */
err = qlcnic_83xx_configure_opmode(adapter);
if (err)
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH net-next 4/5] qlcnic: Dump mailbox command data when a command times out
2013-08-15 12:27 [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling Sucheta Chakraborty
` (2 preceding siblings ...)
2013-08-15 12:27 ` [PATCH net-next 3/5] qlcnic: Fix driver initialization for 83xx adapters Sucheta Chakraborty
@ 2013-08-15 12:27 ` Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 5/5] qlcnic: Update version to 5.2.46 Sucheta Chakraborty
2013-08-15 21:46 ` [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling David Miller
5 siblings, 0 replies; 7+ messages in thread
From: Sucheta Chakraborty @ 2013-08-15 12:27 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev, Manish Chopra
From: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
index 43b51a0..78ca755 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
@@ -3736,6 +3736,7 @@ static void qlcnic_83xx_mailbox_worker(struct work_struct *work)
__func__, cmd->cmd_op, cmd->type, ahw->pci_func,
ahw->op_mode);
clear_bit(QLC_83XX_MBX_READY, &mbx->status);
+ qlcnic_dump_mbx(adapter, cmd);
qlcnic_83xx_idc_request_reset(adapter,
QLCNIC_FORCE_FW_DUMP_KEY);
cmd->rsp_opcode = QLCNIC_RCODE_TIMEOUT;
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH net-next 5/5] qlcnic: Update version to 5.2.46.
2013-08-15 12:27 [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling Sucheta Chakraborty
` (3 preceding siblings ...)
2013-08-15 12:27 ` [PATCH net-next 4/5] qlcnic: Dump mailbox command data when a command times out Sucheta Chakraborty
@ 2013-08-15 12:27 ` Sucheta Chakraborty
2013-08-15 21:46 ` [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling David Miller
5 siblings, 0 replies; 7+ messages in thread
From: Sucheta Chakraborty @ 2013-08-15 12:27 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
index 3935155..7387354 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
@@ -37,8 +37,8 @@
#define _QLCNIC_LINUX_MAJOR 5
#define _QLCNIC_LINUX_MINOR 2
-#define _QLCNIC_LINUX_SUBVERSION 45
-#define QLCNIC_LINUX_VERSIONID "5.2.45"
+#define _QLCNIC_LINUX_SUBVERSION 46
+#define QLCNIC_LINUX_VERSIONID "5.2.46"
#define QLCNIC_DRV_IDC_VER 0x01
#define QLCNIC_DRIVER_VERSION ((_QLCNIC_LINUX_MAJOR << 16) |\
(_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION))
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling.
2013-08-15 12:27 [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling Sucheta Chakraborty
` (4 preceding siblings ...)
2013-08-15 12:27 ` [PATCH net-next 5/5] qlcnic: Update version to 5.2.46 Sucheta Chakraborty
@ 2013-08-15 21:46 ` David Miller
5 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2013-08-15 21:46 UTC (permalink / raw)
To: sucheta.chakraborty; +Cc: netdev, Dept-HSGLinuxNICDev
From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Date: Thu, 15 Aug 2013 08:27:24 -0400
> All the bug fixes in this series are dependent on net-next patches which were
> submitted previously by commit (qlcnic: Interrupt based driver firmware mailbox
> mechanism, commit id - e5c4e6c696aea58fbea5758e8b2841d2b0309cf7).
>
> Please apply this series to net-next.
Series applied, thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-08-15 21:46 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-15 12:27 [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 1/5] qlcnic: Reinitialize mailbox data structures after firmware reset Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 2/5] qlcnic: Flush mailbox command list when mailbox is not available Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 3/5] qlcnic: Fix driver initialization for 83xx adapters Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 4/5] qlcnic: Dump mailbox command data when a command times out Sucheta Chakraborty
2013-08-15 12:27 ` [PATCH net-next 5/5] qlcnic: Update version to 5.2.46 Sucheta Chakraborty
2013-08-15 21:46 ` [PATCH net-next 0/5] qlcnic: Fixes for Mailbox command handling David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.