netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).