* [PATCH net 0/3] qlcnic: bug fixes
@ 2016-08-03 8:02 Manish Chopra
2016-08-03 8:02 ` [PATCH net 1/3] qlcnic: fix data structure corruption in async mbx command handling Manish Chopra
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Manish Chopra @ 2016-08-03 8:02 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-GELinuxNICDev
Hi David,
This series fixes a data structure corruption bug in
VF's async mailbox commands handling and an issue realted
to napi poll budget in the driver.
Please consider applying this series to "net"
Thanks,
Manish
Manish Chopra (3):
qlcnic: fix data structure corruption in async mbx command handling
qlcnic: fix napi budget alteration
qlcnic: Update version to 5.3.65
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 4 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 2 -
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h | 9 +-
.../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 95 +++++++++++--------
4 files changed, 62 insertions(+), 48 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 1/3] qlcnic: fix data structure corruption in async mbx command handling
2016-08-03 8:02 [PATCH net 0/3] qlcnic: bug fixes Manish Chopra
@ 2016-08-03 8:02 ` Manish Chopra
2016-08-03 8:02 ` [PATCH net 2/3] qlcnic: fix napi budget alteration Manish Chopra
` (2 subsequent siblings)
3 siblings, 0 replies; 15+ messages in thread
From: Manish Chopra @ 2016-08-03 8:02 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-GELinuxNICDev
This patch fixes a data structure corruption bug in the SRIOV VF mailbox
handler code. While handling mailbox commands from the atomic context,
driver is accessing and updating qlcnic_async_work_list_struct entry fields
in the async work list. These fields could be concurrently accessed by the
work function resulting in data corruption.
This patch restructures async mbx command handling by using a separate
async command list instead of using a list of work_struct structures.
A single work_struct is used to schedule and handle the async commands
with proper locking mechanism.
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h | 9 +-
.../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 95 +++++++++++--------
2 files changed, 60 insertions(+), 44 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
index 017d8c2..24061b9 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h
@@ -156,10 +156,8 @@ struct qlcnic_vf_info {
spinlock_t vlan_list_lock; /* Lock for VLAN list */
};
-struct qlcnic_async_work_list {
+struct qlcnic_async_cmd {
struct list_head list;
- struct work_struct work;
- void *ptr;
struct qlcnic_cmd_args *cmd;
};
@@ -168,7 +166,10 @@ struct qlcnic_back_channel {
struct workqueue_struct *bc_trans_wq;
struct workqueue_struct *bc_async_wq;
struct workqueue_struct *bc_flr_wq;
- struct list_head async_list;
+ struct qlcnic_adapter *adapter;
+ struct list_head async_cmd_list;
+ struct work_struct vf_async_work;
+ spinlock_t queue_lock; /* async_cmd_list queue lock */
};
struct qlcnic_sriov {
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
index 7327b72..d710705 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
@@ -29,6 +29,7 @@
#define QLC_83XX_VF_RESET_FAIL_THRESH 8
#define QLC_BC_CMD_MAX_RETRY_CNT 5
+static void qlcnic_sriov_handle_async_issue_cmd(struct work_struct *work);
static void qlcnic_sriov_vf_free_mac_list(struct qlcnic_adapter *);
static int qlcnic_sriov_alloc_bc_mbx_args(struct qlcnic_cmd_args *, u32);
static void qlcnic_sriov_vf_poll_dev_state(struct work_struct *);
@@ -177,7 +178,10 @@ int qlcnic_sriov_init(struct qlcnic_adapter *adapter, int num_vfs)
}
bc->bc_async_wq = wq;
- INIT_LIST_HEAD(&bc->async_list);
+ INIT_LIST_HEAD(&bc->async_cmd_list);
+ INIT_WORK(&bc->vf_async_work, qlcnic_sriov_handle_async_issue_cmd);
+ spin_lock_init(&bc->queue_lock);
+ bc->adapter = adapter;
for (i = 0; i < num_vfs; i++) {
vf = &sriov->vf_info[i];
@@ -1517,17 +1521,21 @@ static void qlcnic_vf_add_mc_list(struct net_device *netdev, const u8 *mac,
void qlcnic_sriov_cleanup_async_list(struct qlcnic_back_channel *bc)
{
- struct list_head *head = &bc->async_list;
- struct qlcnic_async_work_list *entry;
+ struct list_head *head = &bc->async_cmd_list;
+ struct qlcnic_async_cmd *entry;
flush_workqueue(bc->bc_async_wq);
+ cancel_work_sync(&bc->vf_async_work);
+
+ spin_lock(&bc->queue_lock);
while (!list_empty(head)) {
- entry = list_entry(head->next, struct qlcnic_async_work_list,
+ entry = list_entry(head->next, struct qlcnic_async_cmd,
list);
- cancel_work_sync(&entry->work);
list_del(&entry->list);
+ kfree(entry->cmd);
kfree(entry);
}
+ spin_unlock(&bc->queue_lock);
}
void qlcnic_sriov_vf_set_multi(struct net_device *netdev)
@@ -1587,57 +1595,64 @@ void qlcnic_sriov_vf_set_multi(struct net_device *netdev)
static void qlcnic_sriov_handle_async_issue_cmd(struct work_struct *work)
{
- struct qlcnic_async_work_list *entry;
- struct qlcnic_adapter *adapter;
+ struct qlcnic_async_cmd *entry, *tmp;
+ struct qlcnic_back_channel *bc;
struct qlcnic_cmd_args *cmd;
+ struct list_head *head;
+ LIST_HEAD(del_list);
+
+ bc = container_of(work, struct qlcnic_back_channel, vf_async_work);
+ head = &bc->async_cmd_list;
+
+ spin_lock(&bc->queue_lock);
+ list_splice_init(head, &del_list);
+ spin_unlock(&bc->queue_lock);
+
+ list_for_each_entry_safe(entry, tmp, &del_list, list) {
+ list_del(&entry->list);
+ cmd = entry->cmd;
+ __qlcnic_sriov_issue_cmd(bc->adapter, cmd);
+ kfree(entry);
+ }
+
+ if (!list_empty(head))
+ queue_work(bc->bc_async_wq, &bc->vf_async_work);
- entry = container_of(work, struct qlcnic_async_work_list, work);
- adapter = entry->ptr;
- cmd = entry->cmd;
- __qlcnic_sriov_issue_cmd(adapter, cmd);
return;
}
-static struct qlcnic_async_work_list *
-qlcnic_sriov_get_free_node_async_work(struct qlcnic_back_channel *bc)
+static struct qlcnic_async_cmd *
+qlcnic_sriov_alloc_async_cmd(struct qlcnic_back_channel *bc,
+ struct qlcnic_cmd_args *cmd)
{
- struct list_head *node;
- struct qlcnic_async_work_list *entry = NULL;
- u8 empty = 0;
+ struct qlcnic_async_cmd *entry = NULL;
- list_for_each(node, &bc->async_list) {
- entry = list_entry(node, struct qlcnic_async_work_list, list);
- if (!work_pending(&entry->work)) {
- empty = 1;
- break;
- }
- }
+ entry = kzalloc(sizeof(*entry), GFP_ATOMIC);
+ if (!entry)
+ return NULL;
- if (!empty) {
- entry = kzalloc(sizeof(struct qlcnic_async_work_list),
- GFP_ATOMIC);
- if (entry == NULL)
- return NULL;
- list_add_tail(&entry->list, &bc->async_list);
- }
+ entry->cmd = cmd;
+
+ spin_lock(&bc->queue_lock);
+ list_add_tail(&entry->list, &bc->async_cmd_list);
+ spin_unlock(&bc->queue_lock);
return entry;
}
static void qlcnic_sriov_schedule_async_cmd(struct qlcnic_back_channel *bc,
- work_func_t func, void *data,
struct qlcnic_cmd_args *cmd)
{
- struct qlcnic_async_work_list *entry = NULL;
+ struct qlcnic_async_cmd *entry = NULL;
- entry = qlcnic_sriov_get_free_node_async_work(bc);
- if (!entry)
+ entry = qlcnic_sriov_alloc_async_cmd(bc, cmd);
+ if (!entry) {
+ qlcnic_free_mbx_args(cmd);
+ kfree(cmd);
return;
+ }
- entry->ptr = data;
- entry->cmd = cmd;
- INIT_WORK(&entry->work, func);
- queue_work(bc->bc_async_wq, &entry->work);
+ queue_work(bc->bc_async_wq, &bc->vf_async_work);
}
static int qlcnic_sriov_async_issue_cmd(struct qlcnic_adapter *adapter,
@@ -1649,8 +1664,8 @@ static int qlcnic_sriov_async_issue_cmd(struct qlcnic_adapter *adapter,
if (adapter->need_fw_reset)
return -EIO;
- qlcnic_sriov_schedule_async_cmd(bc, qlcnic_sriov_handle_async_issue_cmd,
- adapter, cmd);
+ qlcnic_sriov_schedule_async_cmd(bc, cmd);
+
return 0;
}
--
1.5.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH net 2/3] qlcnic: fix napi budget alteration
2016-08-03 8:02 [PATCH net 0/3] qlcnic: bug fixes Manish Chopra
2016-08-03 8:02 ` [PATCH net 1/3] qlcnic: fix data structure corruption in async mbx command handling Manish Chopra
@ 2016-08-03 8:02 ` Manish Chopra
2016-08-03 8:02 ` [PATCH net 3/3] qlcnic: Update version to 5.3.65 Manish Chopra
2016-08-03 19:03 ` [PATCH net 0/3] qlcnic: bug fixes David Miller
3 siblings, 0 replies; 15+ messages in thread
From: Manish Chopra @ 2016-08-03 8:02 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-GELinuxNICDev
Driver modifies the supplied NAPI budget in qlcnic_83xx_msix_tx_poll()
function. Instead, it should use the budget as it is.
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
index 87c642d..fedd736 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
@@ -102,7 +102,6 @@
#define QLCNIC_RESPONSE_DESC 0x05
#define QLCNIC_LRO_DESC 0x12
-#define QLCNIC_TX_POLL_BUDGET 128
#define QLCNIC_TCP_HDR_SIZE 20
#define QLCNIC_TCP_TS_OPTION_SIZE 12
#define QLCNIC_FETCH_RING_ID(handle) ((handle) >> 63)
@@ -2008,7 +2007,6 @@ static int qlcnic_83xx_msix_tx_poll(struct napi_struct *napi, int budget)
struct qlcnic_host_tx_ring *tx_ring;
struct qlcnic_adapter *adapter;
- budget = QLCNIC_TX_POLL_BUDGET;
tx_ring = container_of(napi, struct qlcnic_host_tx_ring, napi);
adapter = tx_ring->adapter;
work_done = qlcnic_process_cmd_ring(adapter, tx_ring, budget);
--
1.5.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH net 3/3] qlcnic: Update version to 5.3.65
2016-08-03 8:02 [PATCH net 0/3] qlcnic: bug fixes Manish Chopra
2016-08-03 8:02 ` [PATCH net 1/3] qlcnic: fix data structure corruption in async mbx command handling Manish Chopra
2016-08-03 8:02 ` [PATCH net 2/3] qlcnic: fix napi budget alteration Manish Chopra
@ 2016-08-03 8:02 ` Manish Chopra
2016-08-03 19:03 ` [PATCH net 0/3] qlcnic: bug fixes David Miller
3 siblings, 0 replies; 15+ messages in thread
From: Manish Chopra @ 2016-08-03 8:02 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-GELinuxNICDev
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
index fd973f4..49bad00 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 3
-#define _QLCNIC_LINUX_SUBVERSION 64
-#define QLCNIC_LINUX_VERSIONID "5.3.64"
+#define _QLCNIC_LINUX_SUBVERSION 65
+#define QLCNIC_LINUX_VERSIONID "5.3.65"
#define QLCNIC_DRV_IDC_VER 0x01
#define QLCNIC_DRIVER_VERSION ((_QLCNIC_LINUX_MAJOR << 16) |\
(_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION))
--
1.5.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: bug fixes
2016-08-03 8:02 [PATCH net 0/3] qlcnic: bug fixes Manish Chopra
` (2 preceding siblings ...)
2016-08-03 8:02 ` [PATCH net 3/3] qlcnic: Update version to 5.3.65 Manish Chopra
@ 2016-08-03 19:03 ` David Miller
3 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2016-08-03 19:03 UTC (permalink / raw)
To: manish.chopra; +Cc: netdev, Dept-GELinuxNICDev
From: Manish Chopra <manish.chopra@qlogic.com>
Date: Wed, 3 Aug 2016 04:02:01 -0400
> This series fixes a data structure corruption bug in
> VF's async mailbox commands handling and an issue realted
> to napi poll budget in the driver.
>
> Please consider applying this series to "net"
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: Bug fixes
2014-08-18 13:31 [PATCH net 0/3] qlcnic: Bug fixes Shahed Shaikh
@ 2014-08-22 0:43 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2014-08-22 0:43 UTC (permalink / raw)
To: shahed.shaikh; +Cc: netdev, Dept-HSGLinuxNICDev
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
Date: Mon, 18 Aug 2014 09:31:52 -0400
> This series fixes some bugs related to endianess.
>
> Please apply this series to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: Bug fixes
@ 2014-08-18 13:31 Shahed Shaikh
2014-08-22 0:43 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Shahed Shaikh @ 2014-08-18 13:31 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev, Shahed Shaikh
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
Hi Dave,
This series fixes some bugs related to endianess.
Please apply this series to net.
Thanks,
Shahed
Jitendra Kalsaria (1):
qlcnic: Fix flash access interface to application
Rajesh Borundia (1):
qlcnic: Fix endianess issue in FW dump template header
Shahed Shaikh (1):
qlcnic: Fix endianess issue in firmware load from file operation
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 15 +++++-
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 6 +-
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 35 +++++++++----
.../net/ethernet/qlogic/qlcnic/qlcnic_minidump.c | 57 ++++++++++++++++++++
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c | 16 +++++-
5 files changed, 114 insertions(+), 15 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: Bug fixes
2014-08-04 15:51 Rajesh Borundia
@ 2014-08-05 23:24 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2014-08-05 23:24 UTC (permalink / raw)
To: rajesh.borundia; +Cc: netdev, Dept-HSGLinuxNICDev
From: Rajesh Borundia <rajesh.borundia@qlogic.com>
Date: Mon, 4 Aug 2014 11:51:15 -0400
> The patch series contains following bug fixes.
>
> * Aggregating tx stats in adapter variable was resulting
> in increase of stats when user runs ifconfig command
> and no traffic is running. Instead aggregate tx stats
> in local variable and then assign it to adapter struct
> variable.
> * Set_driver_version was called after registering netdev
> which was resulting in a race between FLR in open
> handler and set_driver_version command as open handler
> can be called simulatneously on another cpu even if probe
> is not complete. So call this command before registering
> netdev.
> * dcbnl_ops should be initialized before registering netdev
> as they are referenced in open handler.
>
> Please apply this series to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: Bug fixes
@ 2014-08-04 15:51 Rajesh Borundia
2014-08-05 23:24 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Rajesh Borundia @ 2014-08-04 15:51 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev
The patch series contains following bug fixes.
* Aggregating tx stats in adapter variable was resulting
in increase of stats when user runs ifconfig command
and no traffic is running. Instead aggregate tx stats
in local variable and then assign it to adapter struct
variable.
* Set_driver_version was called after registering netdev
which was resulting in a race between FLR in open
handler and set_driver_version command as open handler
can be called simulatneously on another cpu even if probe
is not complete. So call this command before registering
netdev.
* dcbnl_ops should be initialized before registering netdev
as they are referenced in open handler.
Please apply this series to net.
Thanks,
Rajesh
Rajesh Borundia (3):
qlcnic: Fix update of ethtool stats.
qlcnic: Set driver version before registering netdev
qlcnic: Initialize dcbnl_ops before register_netdev
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 2 +-
.../net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 18 +++++++++++++-----
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 10 +++++-----
3 files changed, 19 insertions(+), 11 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: bug fixes
2013-08-15 12:29 [PATCH net 0/3] qlcnic: bug fixes Sucheta Chakraborty
@ 2013-08-15 21:35 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2013-08-15 21:35 UTC (permalink / raw)
To: sucheta.chakraborty; +Cc: netdev, Dept-HSGLinuxNICDev
From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Date: Thu, 15 Aug 2013 08:29:26 -0400
> Please apply to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: bug fixes
@ 2013-08-15 12:29 Sucheta Chakraborty
2013-08-15 21:35 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Sucheta Chakraborty @ 2013-08-15 12:29 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-HSGLinuxNICDev
Please apply to net.
Thanks,
Sucheta.
Himanshu Madhani (1):
qlcnic: Fix set driver version command
Manish Chopra (1):
qlcnic: Fix diagnostic interrupt test for 83xx adapters
Sucheta Chakraborty (1):
qlcnic: Fix beacon state return status handling
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 5 +++++
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 3 ++-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 6 ++++--
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c | 6 +++---
4 files changed, 14 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: Bug fixes
2013-05-21 19:26 [PATCH net 0/3] qlcnic: Bug fixes Shahed Shaikh
@ 2013-05-22 21:52 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2013-05-22 21:52 UTC (permalink / raw)
To: shahed.shaikh; +Cc: netdev, Dept_NX_Linux_NIC_Driver
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
Date: Tue, 21 May 2013 15:26:58 -0400
> This patch series includes following bug fixes:
> * Fix probe failure path by returning proper error codes.
> * Removed access to netdev->trans_start in driver.
> * Fix netdev->features manipulation as part of change in EPORT
> features
>
> Please apply to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: Bug fixes
@ 2013-05-21 19:26 Shahed Shaikh
2013-05-22 21:52 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Shahed Shaikh @ 2013-05-21 19:26 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver, Shahed Shaikh
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
This patch series includes following bug fixes:
* Fix probe failure path by returning proper error codes.
* Removed access to netdev->trans_start in driver.
* Fix netdev->features manipulation as part of change in EPORT
features
Please apply to net.
Thanks,
Shahed
Shahed Shaikh (1):
qlcnic: Fix updating netdev->features
Sony Chacko (2):
qlcnic: Return proper error codes from probe failure paths
qlcnic: remove netdev->trans_start updates within the driver
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 6 ++
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 2 -
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c | 49 ++++++++++++++-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 65 +++++---------------
.../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 1 -
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c | 3 +
6 files changed, 70 insertions(+), 56 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH net 0/3] qlcnic: Bug fixes
2013-04-18 18:10 Shahed Shaikh
@ 2013-04-18 18:55 ` David Miller
0 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2013-04-18 18:55 UTC (permalink / raw)
To: shahed.shaikh; +Cc: netdev, Dept_NX_Linux_NIC_Driver
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
Date: Thu, 18 Apr 2013 14:10:03 -0400
> From: Shahed Shaikh <shahed.shaikh@qlogic.com>
>
> This patch series contains bug fixes for -
> * Loopback test failure while traffic is running.
> * Tx timeout and subsequent firmware reset by removing check for
> '(adapter->netdev->features & (NETIF_F_TSO | NETIF_F_TSO6)' from tx fast
> path, as per Eric's suggestion.
> * Typo in logs.
>
> Please apply to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH net 0/3] qlcnic: Bug fixes
@ 2013-04-18 18:10 Shahed Shaikh
2013-04-18 18:55 ` David Miller
0 siblings, 1 reply; 15+ messages in thread
From: Shahed Shaikh @ 2013-04-18 18:10 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver, Shahed Shaikh
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
This patch series contains bug fixes for -
* Loopback test failure while traffic is running.
* Tx timeout and subsequent firmware reset by removing check for
'(adapter->netdev->features & (NETIF_F_TSO | NETIF_F_TSO6)' from tx fast
path, as per Eric's suggestion.
* Typo in logs.
Please apply to net.
Thanks,
Shahed
Jitendra Kalsaria (1):
qlcnic: Stop traffic before performing loopback test
Shahed Shaikh (1):
qlcnic: Fix typo in logs
Sritej Velaga (1):
qlcnic: fix TSO race condition
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 15 ++++++++++-----
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 3 +--
2 files changed, 11 insertions(+), 7 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2016-08-03 19:03 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-03 8:02 [PATCH net 0/3] qlcnic: bug fixes Manish Chopra
2016-08-03 8:02 ` [PATCH net 1/3] qlcnic: fix data structure corruption in async mbx command handling Manish Chopra
2016-08-03 8:02 ` [PATCH net 2/3] qlcnic: fix napi budget alteration Manish Chopra
2016-08-03 8:02 ` [PATCH net 3/3] qlcnic: Update version to 5.3.65 Manish Chopra
2016-08-03 19:03 ` [PATCH net 0/3] qlcnic: bug fixes David Miller
-- strict thread matches above, loose matches on Subject: below --
2014-08-18 13:31 [PATCH net 0/3] qlcnic: Bug fixes Shahed Shaikh
2014-08-22 0:43 ` David Miller
2014-08-04 15:51 Rajesh Borundia
2014-08-05 23:24 ` David Miller
2013-08-15 12:29 [PATCH net 0/3] qlcnic: bug fixes Sucheta Chakraborty
2013-08-15 21:35 ` David Miller
2013-05-21 19:26 [PATCH net 0/3] qlcnic: Bug fixes Shahed Shaikh
2013-05-22 21:52 ` David Miller
2013-04-18 18:10 Shahed Shaikh
2013-04-18 18:55 ` 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.