* [PATCH net 0/4] qlcnic: bug fixes
@ 2013-07-26 20:23 Himanshu Madhani
2013-07-28 3:03 ` David Miller
0 siblings, 1 reply; 10+ messages in thread
From: Himanshu Madhani @ 2013-07-26 20:23 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver, Himanshu Madhani
From: Himanshu Madhani <himanshu.madhani@qlogic.com>
Please apply to net.
Thanks,
Himanshu
Jitendra Kalsaria (1):
qlcnic: Fix initialization of work function.
Manish Chopra (2):
qlcnic: Fix setting Guest VLAN
qlcnic: Fix diagnostic interrupt test for 83xx adapters.
Pratik Pujar (1):
qlcnic: Fix operation type and command type.
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +--
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 2 ++
.../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 2 ++
.../net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c | 30 +++++++++++++++++++---
4 files changed, 32 insertions(+), 6 deletions(-)
--
1.8.1.4
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH net 0/4] qlcnic: bug fixes
2013-07-26 20:23 [PATCH net 0/4] qlcnic: bug fixes Himanshu Madhani
@ 2013-07-28 3:03 ` David Miller
0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2013-07-28 3:03 UTC (permalink / raw)
To: himanshu.madhani; +Cc: netdev, Dept_NX_Linux_NIC_Driver
From: Himanshu Madhani <himanshu.madhani@qlogic.com>
Date: Fri, 26 Jul 2013 16:23:59 -0400
> Please apply to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH net 0/4] qlcnic: bug fixes
@ 2014-01-28 16:55 Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 1/4] qlcnic: Correct off-by-one errors in bounds checks Rajesh Borundia
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: Rajesh Borundia @ 2014-01-28 16:55 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver
The patch series contains following bug fixes
o Bound checks for number of receive descriptors and number of recieve rings.
Both of these have off-by-one errors.
o Vlan list was getting re-initialized in case of adapter reset.
o Tx queue was timing out because of missing start queue for a corresponding
netif_tx_disable.
o Loopback test failed because driver was not setting linkup variable
while handling link events.
Please apply to net.
Manish Chopra (1):
qlcnic: Correct off-by-one errors in bounds checks
Rajesh Borundia (2):
qlcnic: Fix initialization of vlan list.
qlcnic: Fix tx timeout.
Shahed Shaikh (1):
qlcnic: Fix loopback test failure
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 19 ++++++++++++-------
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 9 ++-------
.../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 11 +++++------
3 files changed, 19 insertions(+), 20 deletions(-)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH net 1/4] qlcnic: Correct off-by-one errors in bounds checks
2014-01-28 16:55 [PATCH net 0/4] qlcnic: bug fixes Rajesh Borundia
@ 2014-01-28 16:55 ` Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 2/4] qlcnic: Fix initialization of vlan list Rajesh Borundia
` (3 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Rajesh Borundia @ 2014-01-28 16:55 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver, Manish Chopra,
Jitendra Kalsaria
From: Manish Chopra <manish.chopra@qlogic.com>
o Bound checks should be >= instead of > for number of receive descriptors
and number of receive rings.
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
index 30874cd..19e1a93 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
@@ -1150,13 +1150,13 @@ qlcnic_process_lro(struct qlcnic_adapter *adapter,
u16 lro_length, length, data_offset, t_vid, vid = 0xffff;
u32 seq_number;
- if (unlikely(ring > adapter->max_rds_rings))
+ if (unlikely(ring >= adapter->max_rds_rings))
return NULL;
rds_ring = &recv_ctx->rds_rings[ring];
index = qlcnic_get_lro_sts_refhandle(sts_data0);
- if (unlikely(index > rds_ring->num_desc))
+ if (unlikely(index >= rds_ring->num_desc))
return NULL;
buffer = &rds_ring->rx_buf_arr[index];
@@ -1662,13 +1662,13 @@ qlcnic_83xx_process_lro(struct qlcnic_adapter *adapter,
u16 vid = 0xffff;
int err;
- if (unlikely(ring > adapter->max_rds_rings))
+ if (unlikely(ring >= adapter->max_rds_rings))
return NULL;
rds_ring = &recv_ctx->rds_rings[ring];
index = qlcnic_83xx_hndl(sts_data[0]);
- if (unlikely(index > rds_ring->num_desc))
+ if (unlikely(index >= rds_ring->num_desc))
return NULL;
buffer = &rds_ring->rx_buf_arr[index];
--
1.5.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net 2/4] qlcnic: Fix initialization of vlan list.
2014-01-28 16:55 [PATCH net 0/4] qlcnic: bug fixes Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 1/4] qlcnic: Correct off-by-one errors in bounds checks Rajesh Borundia
@ 2014-01-28 16:55 ` Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 3/4] qlcnic: Fix tx timeout Rajesh Borundia
` (2 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Rajesh Borundia @ 2014-01-28 16:55 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver
o Do not re-initialize vlan list in case of adapter reset.
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
---
.../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
index 17a1ca2..0638c18 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
@@ -448,8 +448,7 @@ static int qlcnic_sriov_set_guest_vlan_mode(struct qlcnic_adapter *adapter,
return 0;
}
-static int qlcnic_sriov_get_vf_acl(struct qlcnic_adapter *adapter,
- struct qlcnic_info *info)
+static int qlcnic_sriov_get_vf_acl(struct qlcnic_adapter *adapter)
{
struct qlcnic_sriov *sriov = adapter->ahw->sriov;
struct qlcnic_cmd_args cmd;
@@ -495,10 +494,6 @@ static int qlcnic_sriov_vf_init_driver(struct qlcnic_adapter *adapter)
if (err)
return -EIO;
- err = qlcnic_sriov_get_vf_acl(adapter, &nic_info);
- if (err)
- return err;
-
if (qlcnic_83xx_get_port_info(adapter))
return -EIO;
@@ -555,6 +550,10 @@ static int qlcnic_sriov_setup_vf(struct qlcnic_adapter *adapter,
if (err)
goto err_out_send_channel_term;
+ err = qlcnic_sriov_get_vf_acl(adapter);
+ if (err)
+ goto err_out_send_channel_term;
+
err = qlcnic_setup_netdev(adapter, adapter->netdev, pci_using_dac);
if (err)
goto err_out_send_channel_term;
--
1.5.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net 3/4] qlcnic: Fix tx timeout.
2014-01-28 16:55 [PATCH net 0/4] qlcnic: bug fixes Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 1/4] qlcnic: Correct off-by-one errors in bounds checks Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 2/4] qlcnic: Fix initialization of vlan list Rajesh Borundia
@ 2014-01-28 16:55 ` Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 4/4] qlcnic: Fix loopback test failure Rajesh Borundia
2014-01-28 20:00 ` [PATCH net 0/4] qlcnic: bug fixes David Miller
4 siblings, 0 replies; 10+ messages in thread
From: Rajesh Borundia @ 2014-01-28 16:55 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver
o __qlcnic_down call's netif_tx_disable which in turn stops
all the TX queues, corresponding start queue was missing in
__qlcnic_up which was leading to tx timeout.
o The commit b84caae486135d588fb200973b0be8cb8a511edf
(qlcnic: Fix usage of netif_tx_{wake, stop} api during link change.)
exposed this issue.
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 9 ++-------
1 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
index 1f79d47..ba78c74 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
@@ -1837,6 +1837,7 @@ int __qlcnic_up(struct qlcnic_adapter *adapter, struct net_device *netdev)
qlcnic_linkevent_request(adapter, 1);
adapter->ahw->reset_context = 0;
+ netif_tx_start_all_queues(netdev);
return 0;
}
@@ -2704,14 +2705,8 @@ static int qlcnic_open(struct net_device *netdev)
err = __qlcnic_up(adapter, netdev);
if (err)
- goto err_out;
-
- netif_tx_start_all_queues(netdev);
-
- return 0;
+ qlcnic_detach(adapter);
-err_out:
- qlcnic_detach(adapter);
return err;
}
--
1.5.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net 4/4] qlcnic: Fix loopback test failure
2014-01-28 16:55 [PATCH net 0/4] qlcnic: bug fixes Rajesh Borundia
` (2 preceding siblings ...)
2014-01-28 16:55 ` [PATCH net 3/4] qlcnic: Fix tx timeout Rajesh Borundia
@ 2014-01-28 16:55 ` Rajesh Borundia
2014-01-28 20:00 ` [PATCH net 0/4] qlcnic: bug fixes David Miller
4 siblings, 0 replies; 10+ messages in thread
From: Rajesh Borundia @ 2014-01-28 16:55 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept_NX_Linux_NIC_Driver, Shahed Shaikh
From: Shahed Shaikh <shahed.shaikh@qlogic.com>
Driver was returning from link event handler without
setting linkup variable
Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
---
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
index 19e1a93..54ebf30 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
@@ -683,12 +683,17 @@ void qlcnic_advert_link_change(struct qlcnic_adapter *adapter, int linkup)
adapter->ahw->linkup = 0;
netif_carrier_off(netdev);
} else if (!adapter->ahw->linkup && linkup) {
- /* Do not advertise Link up if the port is in loopback mode */
- if (qlcnic_83xx_check(adapter) && adapter->ahw->lb_mode)
+ adapter->ahw->linkup = 1;
+
+ /* Do not advertise Link up to the stack if device
+ * is in loopback mode
+ */
+ if (qlcnic_83xx_check(adapter) && adapter->ahw->lb_mode) {
+ netdev_info(netdev, "NIC Link is up for loopback test\n");
return;
+ }
netdev_info(netdev, "NIC Link is up\n");
- adapter->ahw->linkup = 1;
netif_carrier_on(netdev);
}
}
--
1.5.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH net 0/4] qlcnic: bug fixes
2014-01-28 16:55 [PATCH net 0/4] qlcnic: bug fixes Rajesh Borundia
` (3 preceding siblings ...)
2014-01-28 16:55 ` [PATCH net 4/4] qlcnic: Fix loopback test failure Rajesh Borundia
@ 2014-01-28 20:00 ` David Miller
4 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2014-01-28 20:00 UTC (permalink / raw)
To: rajesh.borundia; +Cc: netdev, Dept_NX_Linux_NIC_Driver
From: Rajesh Borundia <rajesh.borundia@qlogic.com>
Date: Tue, 28 Jan 2014 11:55:26 -0500
> The patch series contains following bug fixes
>
> o Bound checks for number of receive descriptors and number of recieve rings.
> Both of these have off-by-one errors.
> o Vlan list was getting re-initialized in case of adapter reset.
> o Tx queue was timing out because of missing start queue for a corresponding
> netif_tx_disable.
> o Loopback test failed because driver was not setting linkup variable
> while handling link events.
>
> Please apply to net.
Series applied, thanks.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH net 0/4] qlcnic: Bug fixes.
@ 2014-09-22 9:51 Manish Chopra
2014-09-26 19:12 ` David Miller
0 siblings, 1 reply; 10+ messages in thread
From: Manish Chopra @ 2014-09-22 9:51 UTC (permalink / raw)
To: davem; +Cc: netdev, Dept-GELinuxNICDev
Hi David,
This patch series contains following bug fixes:
* Fixes related to ethtool statistics.
* Fix for flash read related API.
Please apply this series to 'net'.
Thanks,
Manish
Manish Chopra (3):
qlcnic: Fix memory corruption while reading stats using ethtool.
qlcnic: Remove __QLCNIC_DEV_UP bit check to read TX queues
statistics.
qlcnic: Fix ordering of stats in stats buffer.
Sony Chacko (1):
qlcnic: Use qlcnic_83xx_flash_read32() API instead of lockless
version of the API.
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 5 ++---
.../net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 10 +++++-----
2 files changed, 7 insertions(+), 8 deletions(-)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH net 0/4] qlcnic: Bug fixes.
2014-09-22 9:51 [PATCH net 0/4] qlcnic: Bug fixes Manish Chopra
@ 2014-09-26 19:12 ` David Miller
0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2014-09-26 19:12 UTC (permalink / raw)
To: manish.chopra; +Cc: netdev, Dept-GELinuxNICDev
From: Manish Chopra <manish.chopra@qlogic.com>
Date: Mon, 22 Sep 2014 05:51:49 -0400
> This patch series contains following bug fixes:
>
> * Fixes related to ethtool statistics.
> * Fix for flash read related API.
>
> Please apply this series to 'net'.
Series applied, thanks.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-09-26 19:12 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-28 16:55 [PATCH net 0/4] qlcnic: bug fixes Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 1/4] qlcnic: Correct off-by-one errors in bounds checks Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 2/4] qlcnic: Fix initialization of vlan list Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 3/4] qlcnic: Fix tx timeout Rajesh Borundia
2014-01-28 16:55 ` [PATCH net 4/4] qlcnic: Fix loopback test failure Rajesh Borundia
2014-01-28 20:00 ` [PATCH net 0/4] qlcnic: bug fixes David Miller
-- strict thread matches above, loose matches on Subject: below --
2014-09-22 9:51 [PATCH net 0/4] qlcnic: Bug fixes Manish Chopra
2014-09-26 19:12 ` David Miller
2013-07-26 20:23 [PATCH net 0/4] qlcnic: bug fixes Himanshu Madhani
2013-07-28 3:03 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).