netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH NEXT 0/6]qlcnic:driver update
@ 2011-07-14 13:16 amit.salecha
  2011-07-14 13:16 ` [PATCH NEXT 1/6] qlcnic: fix chip reset logic amit.salecha
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: amit.salecha @ 2011-07-14 13:16 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, anirban.chakraborty

Hi
	Series of 6 patches to update qlcnic driver.
	Apply these on net-next branch.
-Amit

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH NEXT 1/6] qlcnic: fix chip reset logic
  2011-07-14 13:16 [PATCH NEXT 0/6]qlcnic:driver update amit.salecha
@ 2011-07-14 13:16 ` amit.salecha
  2011-07-14 13:16 ` [PATCH NEXT 2/6] qlcnic: updated supported cards information amit.salecha
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: amit.salecha @ 2011-07-14 13:16 UTC (permalink / raw)
  To: davem
  Cc: netdev, ameen.rahman, anirban.chakraborty, Sritej Velaga,
	Amit Kumar Salecha

From: Sritej Velaga <sritej.velaga@qlogic.com>

Chip reset logic (IDC logic) has changed with fw dump support.
This broked compatibility with driver using older IDC logic.
Changes to make it compatible with drivers using older IDC logic.

Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic_main.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index 357436b..6b646c6 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -2811,6 +2811,7 @@ qlcnic_fwinit_work(struct work_struct *work)
 	struct qlcnic_adapter *adapter = container_of(work,
 			struct qlcnic_adapter, fw_work.work);
 	u32 dev_state = 0xf;
+	u32 val;
 
 	if (qlcnic_api_lock(adapter))
 		goto err_ret;
@@ -2837,11 +2838,6 @@ qlcnic_fwinit_work(struct work_struct *work)
 
 	if (!qlcnic_check_drv_state(adapter)) {
 skip_ack_check:
-		if (!(adapter->flags & QLCNIC_FW_RESET_OWNER)) {
-			qlcnic_api_unlock(adapter);
-			goto wait_npar;
-		}
-
 		dev_state = QLCRD32(adapter, QLCNIC_CRB_DEV_STATE);
 
 		if (dev_state == QLCNIC_DEV_NEED_RESET) {
@@ -2850,17 +2846,22 @@ skip_ack_check:
 			set_bit(__QLCNIC_START_FW, &adapter->state);
 			QLCDB(adapter, DRV, "Restarting fw\n");
 			qlcnic_idc_debug_info(adapter, 0);
+			val = QLCRD32(adapter, QLCNIC_CRB_DRV_STATE);
+			QLC_DEV_SET_RST_RDY(val, adapter->portnum);
+			QLCWR32(adapter, QLCNIC_CRB_DRV_STATE, val);
 		}
 
 		qlcnic_api_unlock(adapter);
 
 		rtnl_lock();
-		if (adapter->ahw->fw_dump.enable) {
+		if (adapter->ahw->fw_dump.enable &&
+		    (adapter->flags & QLCNIC_FW_RESET_OWNER)) {
 			QLCDB(adapter, DRV, "Take FW dump\n");
 			qlcnic_dump_fw(adapter);
-			adapter->flags &= ~QLCNIC_FW_RESET_OWNER;
 		}
 		rtnl_unlock();
+
+		adapter->flags &= ~QLCNIC_FW_RESET_OWNER;
 		if (!adapter->nic_ops->start_firmware(adapter)) {
 			qlcnic_schedule_work(adapter, qlcnic_attach_work, 0);
 			adapter->fw_wait_cnt = 0;
-- 
1.7.3.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH NEXT 2/6] qlcnic: updated supported cards information
  2011-07-14 13:16 [PATCH NEXT 0/6]qlcnic:driver update amit.salecha
  2011-07-14 13:16 ` [PATCH NEXT 1/6] qlcnic: fix chip reset logic amit.salecha
@ 2011-07-14 13:16 ` amit.salecha
  2011-07-14 13:16 ` [PATCH NEXT 3/6] qlcnic: enable mac-learning in promiscous mode amit.salecha
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: amit.salecha @ 2011-07-14 13:16 UTC (permalink / raw)
  To: davem
  Cc: netdev, ameen.rahman, anirban.chakraborty, Sritej Velaga,
	Amit Kumar Salecha

From: Sritej Velaga <sritej.velaga@qlogic.com>

Added QME8242-k 10GbE Dual Port Mezzanine Card to supported card info.

Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h
index 9899a79..7c0d6ee 100644
--- a/drivers/net/qlcnic/qlcnic.h
+++ b/drivers/net/qlcnic/qlcnic.h
@@ -1510,6 +1510,8 @@ static const struct qlcnic_brdinfo qlcnic_boards[] = {
 		"NC523SFP 10Gb 2-port Server Adapter"},
 	{0x1077, 0x8020, 0x103c, 0x3346,
 		"CN1000Q Dual Port Converged Network Adapter"},
+	{0x1077, 0x8020, 0x1077, 0x210,
+		"QME8242-k 10GbE Dual Port Mezzanine Card"},
 	{0x1077, 0x8020, 0x0, 0x0, "cLOM8214 1/10GbE Controller"},
 };
 
-- 
1.7.3.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH NEXT 3/6] qlcnic: enable mac-learning in promiscous mode.
  2011-07-14 13:16 [PATCH NEXT 0/6]qlcnic:driver update amit.salecha
  2011-07-14 13:16 ` [PATCH NEXT 1/6] qlcnic: fix chip reset logic amit.salecha
  2011-07-14 13:16 ` [PATCH NEXT 2/6] qlcnic: updated supported cards information amit.salecha
@ 2011-07-14 13:16 ` amit.salecha
  2011-07-14 13:16 ` [PATCH NEXT 4/6] qlcnic: fix race in skb->len access amit.salecha
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: amit.salecha @ 2011-07-14 13:16 UTC (permalink / raw)
  To: davem
  Cc: netdev, ameen.rahman, anirban.chakraborty, Sucheta Chakraborty,
	Amit Kumar Salecha

From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>

MAC learning is required in bridge mode.
During bridge mode device will be put in promiscous mode.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic.h      |    2 ++
 drivers/net/qlcnic/qlcnic_hw.c   |    7 +++++++
 drivers/net/qlcnic/qlcnic_main.c |   13 +++++++------
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h
index 7c0d6ee..3ae2450 100644
--- a/drivers/net/qlcnic/qlcnic.h
+++ b/drivers/net/qlcnic/qlcnic.h
@@ -1015,6 +1015,7 @@ struct qlcnic_adapter {
 	u8 mac_addr[ETH_ALEN];
 
 	u64 dev_rst_time;
+	u8 mac_learn;
 	unsigned long vlans[BITS_TO_LONGS(VLAN_N_VID)];
 
 	struct qlcnic_npar_info *npars;
@@ -1460,6 +1461,7 @@ netdev_tx_t qlcnic_xmit_frame(struct sk_buff *skb, struct net_device *netdev);
 int qlcnic_validate_max_rss(struct net_device *netdev, u8 max_hw, u8 val);
 int qlcnic_set_max_rss(struct qlcnic_adapter *adapter, u8 data);
 void qlcnic_dev_request_reset(struct qlcnic_adapter *);
+void qlcnic_alloc_lb_filters_mem(struct qlcnic_adapter *adapter);
 
 /* Management functions */
 int qlcnic_get_mac_address(struct qlcnic_adapter *, u8*);
diff --git a/drivers/net/qlcnic/qlcnic_hw.c b/drivers/net/qlcnic/qlcnic_hw.c
index 0391a04..4055c21 100644
--- a/drivers/net/qlcnic/qlcnic_hw.c
+++ b/drivers/net/qlcnic/qlcnic_hw.c
@@ -446,6 +446,13 @@ void qlcnic_set_multi(struct net_device *netdev)
 	}
 
 send_fw_cmd:
+	if (mode == VPORT_MISS_MODE_ACCEPT_ALL) {
+		qlcnic_alloc_lb_filters_mem(adapter);
+		adapter->mac_learn = 1;
+	} else {
+		adapter->mac_learn = 0;
+	}
+
 	qlcnic_nic_set_promisc(adapter, mode);
 }
 
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index 6b646c6..916570d 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -90,7 +90,6 @@ static struct net_device_stats *qlcnic_get_stats(struct net_device *netdev);
 static void qlcnic_restore_indev_addr(struct net_device *dev, unsigned long);
 static int qlcnic_start_firmware(struct qlcnic_adapter *);
 
-static void qlcnic_alloc_lb_filters_mem(struct qlcnic_adapter *adapter);
 static void qlcnic_free_lb_filters_mem(struct qlcnic_adapter *adapter);
 static void qlcnic_dev_set_npar_ready(struct qlcnic_adapter *);
 static int qlcnicvf_config_led(struct qlcnic_adapter *, u32, u32);
@@ -1578,6 +1577,7 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	adapter->dev_rst_time = jiffies;
 	revision_id = pdev->revision;
 	adapter->ahw->revision_id = revision_id;
+	adapter->mac_learn = qlcnic_mac_learn;
 
 	rwlock_init(&adapter->ahw->crb_lock);
 	mutex_init(&adapter->ahw->mem_lock);
@@ -1654,7 +1654,9 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		break;
 	}
 
-	qlcnic_alloc_lb_filters_mem(adapter);
+	if (adapter->mac_learn)
+		qlcnic_alloc_lb_filters_mem(adapter);
+
 	qlcnic_create_diag_entries(adapter);
 
 	return 0;
@@ -1850,13 +1852,12 @@ static int qlcnic_close(struct net_device *netdev)
 	return 0;
 }
 
-static void
-qlcnic_alloc_lb_filters_mem(struct qlcnic_adapter *adapter)
+void qlcnic_alloc_lb_filters_mem(struct qlcnic_adapter *adapter)
 {
 	void *head;
 	int i;
 
-	if (!qlcnic_mac_learn)
+	if (adapter->fhash.fmax && adapter->fhash.fhead)
 		return;
 
 	spin_lock_init(&adapter->mac_learn_lock);
@@ -2286,7 +2287,7 @@ qlcnic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
 	if (unlikely(qlcnic_tx_pkt(adapter, first_desc, skb)))
 		goto unwind_buff;
 
-	if (qlcnic_mac_learn)
+	if (adapter->mac_learn)
 		qlcnic_send_filter(adapter, tx_ring, first_desc, skb);
 
 	qlcnic_update_cmd_producer(adapter, tx_ring);
-- 
1.7.3.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH NEXT 4/6] qlcnic: fix race in skb->len access.
  2011-07-14 13:16 [PATCH NEXT 0/6]qlcnic:driver update amit.salecha
                   ` (2 preceding siblings ...)
  2011-07-14 13:16 ` [PATCH NEXT 3/6] qlcnic: enable mac-learning in promiscous mode amit.salecha
@ 2011-07-14 13:16 ` amit.salecha
  2011-07-14 13:16 ` [PATCH NEXT 5/6] qlcnic: define error code for loopback test amit.salecha
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: amit.salecha @ 2011-07-14 13:16 UTC (permalink / raw)
  To: davem
  Cc: netdev, ameen.rahman, anirban.chakraborty, Sucheta Chakraborty,
	Amit Kumar Salecha

From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>

As soon as skb is given to hardware, TX completion can free skb under us.
Therefore, we should update dev stats before kicking the device.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic_main.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index 916570d..006a693 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -2290,11 +2290,11 @@ qlcnic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
 	if (adapter->mac_learn)
 		qlcnic_send_filter(adapter, tx_ring, first_desc, skb);
 
-	qlcnic_update_cmd_producer(adapter, tx_ring);
-
 	adapter->stats.txbytes += skb->len;
 	adapter->stats.xmitcalled++;
 
+	qlcnic_update_cmd_producer(adapter, tx_ring);
+
 	return NETDEV_TX_OK;
 
 unwind_buff:
-- 
1.7.3.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH NEXT 5/6] qlcnic: define error code for loopback test
  2011-07-14 13:16 [PATCH NEXT 0/6]qlcnic:driver update amit.salecha
                   ` (3 preceding siblings ...)
  2011-07-14 13:16 ` [PATCH NEXT 4/6] qlcnic: fix race in skb->len access amit.salecha
@ 2011-07-14 13:16 ` amit.salecha
  2011-07-14 13:16 ` [PATCH NEXT 6/6] qlcnic: change capture mask for FW dump amit.salecha
  2011-07-14 15:49 ` [PATCH NEXT 0/6]qlcnic:driver update David Miller
  6 siblings, 0 replies; 8+ messages in thread
From: amit.salecha @ 2011-07-14 13:16 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, anirban.chakraborty, Amit Kumar Salecha

From: Amit Kumar Salecha <amit.salecha@qlogic.com>

o Defined error code such as fw not responding, test already running and
  cable not connected.
o Check Fw capability before performing loopback test.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic.h         |    9 ++++++++-
 drivers/net/qlcnic/qlcnic_ethtool.c |   27 ++++++++++++++++-----------
 drivers/net/qlcnic/qlcnic_init.c    |    6 ++++++
 3 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h
index 3ae2450..f6e54a8 100644
--- a/drivers/net/qlcnic/qlcnic.h
+++ b/drivers/net/qlcnic/qlcnic.h
@@ -822,6 +822,7 @@ struct qlcnic_mac_list_s {
 #define QLCNIC_FW_CAPABILITY_BDG		BIT_8
 #define QLCNIC_FW_CAPABILITY_FVLANTX		BIT_9
 #define QLCNIC_FW_CAPABILITY_HW_LRO		BIT_10
+#define QLCNIC_FW_CAPABILITY_MULTI_LOOPBACK	BIT_27
 
 /* module types */
 #define LINKEVENT_MODULE_NOT_PRESENT			1
@@ -936,6 +937,12 @@ struct qlcnic_ipaddr {
 #define QLCNIC_READD_AGE	20
 #define QLCNIC_LB_MAX_FILTERS	64
 
+/* QLCNIC Driver Error Code */
+#define QLCNIC_FW_NOT_RESPOND		51
+#define QLCNIC_TEST_IN_PROGRESS		52
+#define QLCNIC_UNDEFINED_ERROR		53
+#define QLCNIC_LB_CABLE_NOT_CONN	54
+
 struct qlcnic_filter {
 	struct hlist_node fnode;
 	u8 faddr[ETH_ALEN];
@@ -1007,7 +1014,7 @@ struct qlcnic_adapter {
 	u8 max_mac_filters;
 	u8 dev_state;
 	u8 diag_test;
-	u8 diag_cnt;
+	char diag_cnt;
 	u8 reset_ack_timeo;
 	u8 dev_init_timeo;
 	u16 msg_enable;
diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c
index 3ea04e7..72a723d 100644
--- a/drivers/net/qlcnic/qlcnic_ethtool.c
+++ b/drivers/net/qlcnic/qlcnic_ethtool.c
@@ -756,6 +756,11 @@ static int qlcnic_loopback_test(struct net_device *netdev, u8 mode)
 	int loop = 0;
 	int ret;
 
+	if (!(adapter->capabilities & QLCNIC_FW_CAPABILITY_MULTI_LOOPBACK)) {
+		netdev_info(netdev, "Firmware is not loopback test capable\n");
+		return -EOPNOTSUPP;
+	}
+
 	netdev_info(netdev, "%s loopback test in progress\n",
 		   mode == QLCNIC_ILB_MODE ? "internal" : "external");
 	if (adapter->op_mode == QLCNIC_NON_PRIV_FUNC) {
@@ -765,8 +770,7 @@ static int qlcnic_loopback_test(struct net_device *netdev, u8 mode)
 	}
 
 	if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
-		return -EIO;
-
+		return -EBUSY;
 
 	ret = qlcnic_diag_alloc_res(netdev, QLCNIC_LOOPBACK_TEST);
 	if (ret)
@@ -778,20 +782,21 @@ static int qlcnic_loopback_test(struct net_device *netdev, u8 mode)
 	if (ret)
 		goto free_res;
 
+	adapter->diag_cnt = 0;
 	do {
 		msleep(500);
 		qlcnic_process_rcv_ring_diag(sds_ring);
-		if (loop++ > QLCNIC_ILB_MAX_RCV_LOOP)
-			break;
+		if (loop++ > QLCNIC_ILB_MAX_RCV_LOOP) {
+			netdev_info(netdev, "firmware didnt respond to loopback"
+				" configure request\n");
+			ret = -QLCNIC_FW_NOT_RESPOND;
+			goto free_res;
+		} else if (adapter->diag_cnt) {
+			ret = adapter->diag_cnt;
+			goto free_res;
+		}
 	} while (!QLCNIC_IS_LB_CONFIGURED(adapter->ahw->loopback_state));
 
-	if (!QLCNIC_IS_LB_CONFIGURED(adapter->ahw->loopback_state)) {
-		netdev_info(netdev, "firmware didnt respond to loopback "
-				"configure request\n");
-		ret = adapter->ahw->loopback_state;
-		goto free_res;
-	}
-
 	ret = qlcnic_do_lb_test(adapter);
 
 	qlcnic_clear_lb_mode(adapter);
diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c
index 6ec1baa..ee8a398 100644
--- a/drivers/net/qlcnic/qlcnic_init.c
+++ b/drivers/net/qlcnic/qlcnic_init.c
@@ -1354,10 +1354,16 @@ qlcnic_handle_fw_message(int desc_cnt, int index,
 			break;
 		case 1:
 			dev_info(dev, "loopback already in progress\n");
+			adapter->diag_cnt = -QLCNIC_TEST_IN_PROGRESS;
+			break;
+		case 2:
+			dev_info(dev, "loopback cable is not connected\n");
+			adapter->diag_cnt = -QLCNIC_LB_CABLE_NOT_CONN;
 			break;
 		default:
 			dev_info(dev, "loopback configure request failed,"
 					" ret %x\n", ret);
+			adapter->diag_cnt = -QLCNIC_UNDEFINED_ERROR;
 			break;
 		}
 		break;
-- 
1.7.3.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH NEXT 6/6] qlcnic: change capture mask for FW dump
  2011-07-14 13:16 [PATCH NEXT 0/6]qlcnic:driver update amit.salecha
                   ` (4 preceding siblings ...)
  2011-07-14 13:16 ` [PATCH NEXT 5/6] qlcnic: define error code for loopback test amit.salecha
@ 2011-07-14 13:16 ` amit.salecha
  2011-07-14 15:49 ` [PATCH NEXT 0/6]qlcnic:driver update David Miller
  6 siblings, 0 replies; 8+ messages in thread
From: amit.salecha @ 2011-07-14 13:16 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, anirban.chakraborty, Amit Kumar Salecha

From: Anirban Chakraborty <anirban.chakraborty@qlogic.com>

o Change FW dump capture mask to a defult value, instead of using the recommended
  value from the FW. This was done to keep the capture mask consistent with other
  function drivers.

o Update driver version to 5.0.21

Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic.h     |    6 +++---
 drivers/net/qlcnic/qlcnic_ctx.c |    6 +-----
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h
index f6e54a8..baf646d 100644
--- a/drivers/net/qlcnic/qlcnic.h
+++ b/drivers/net/qlcnic/qlcnic.h
@@ -36,8 +36,8 @@
 
 #define _QLCNIC_LINUX_MAJOR 5
 #define _QLCNIC_LINUX_MINOR 0
-#define _QLCNIC_LINUX_SUBVERSION 20
-#define QLCNIC_LINUX_VERSIONID  "5.0.20"
+#define _QLCNIC_LINUX_SUBVERSION 21
+#define QLCNIC_LINUX_VERSIONID  "5.0.21"
 #define QLCNIC_DRV_IDC_VER  0x01
 #define QLCNIC_DRIVER_VERSION  ((_QLCNIC_LINUX_MAJOR << 16) |\
 		 (_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION))
@@ -1339,7 +1339,7 @@ enum op_codes {
 #define QLCNIC_DUMP_SKIP	BIT_7
 
 #define QLCNIC_DUMP_MASK_MIN		3
-#define QLCNIC_DUMP_MASK_DEF		0x7f
+#define QLCNIC_DUMP_MASK_DEF		0x1f
 #define QLCNIC_DUMP_MASK_MAX		0xff
 #define QLCNIC_FORCE_FW_DUMP_KEY	0xdeadfeed
 #define QLCNIC_ENABLE_FW_DUMP		0xaddfeed
diff --git a/drivers/net/qlcnic/qlcnic_ctx.c b/drivers/net/qlcnic/qlcnic_ctx.c
index 33f5c8a..b0d32dd 100644
--- a/drivers/net/qlcnic/qlcnic_ctx.c
+++ b/drivers/net/qlcnic/qlcnic_ctx.c
@@ -145,11 +145,7 @@ int qlcnic_fw_cmd_get_minidump_temp(struct qlcnic_adapter *adapter)
 		*template++ = __le32_to_cpu(*tmp_buf++);
 
 	tmpl_hdr = ahw->fw_dump.tmpl_hdr;
-	if (tmpl_hdr->cap_mask > QLCNIC_DUMP_MASK_DEF &&
-		tmpl_hdr->cap_mask <= QLCNIC_DUMP_MASK_MAX)
-		tmpl_hdr->drv_cap_mask = tmpl_hdr->cap_mask;
-	else
-		tmpl_hdr->drv_cap_mask = QLCNIC_DUMP_MASK_DEF;
+	tmpl_hdr->drv_cap_mask = QLCNIC_DUMP_MASK_DEF;
 	ahw->fw_dump.enable = 1;
 error:
 	dma_free_coherent(&adapter->pdev->dev, temp_size, tmp_addr, tmp_addr_t);
-- 
1.7.3.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH NEXT 0/6]qlcnic:driver update
  2011-07-14 13:16 [PATCH NEXT 0/6]qlcnic:driver update amit.salecha
                   ` (5 preceding siblings ...)
  2011-07-14 13:16 ` [PATCH NEXT 6/6] qlcnic: change capture mask for FW dump amit.salecha
@ 2011-07-14 15:49 ` David Miller
  6 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2011-07-14 15:49 UTC (permalink / raw)
  To: amit.salecha; +Cc: netdev, ameen.rahman, anirban.chakraborty

From: amit.salecha@qlogic.com
Date: Thu, 14 Jul 2011 06:16:49 -0700

> 	Series of 6 patches to update qlcnic driver.
> 	Apply these on net-next branch.

All applied, thank you.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-07-14 15:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-14 13:16 [PATCH NEXT 0/6]qlcnic:driver update amit.salecha
2011-07-14 13:16 ` [PATCH NEXT 1/6] qlcnic: fix chip reset logic amit.salecha
2011-07-14 13:16 ` [PATCH NEXT 2/6] qlcnic: updated supported cards information amit.salecha
2011-07-14 13:16 ` [PATCH NEXT 3/6] qlcnic: enable mac-learning in promiscous mode amit.salecha
2011-07-14 13:16 ` [PATCH NEXT 4/6] qlcnic: fix race in skb->len access amit.salecha
2011-07-14 13:16 ` [PATCH NEXT 5/6] qlcnic: define error code for loopback test amit.salecha
2011-07-14 13:16 ` [PATCH NEXT 6/6] qlcnic: change capture mask for FW dump amit.salecha
2011-07-14 15:49 ` [PATCH NEXT 0/6]qlcnic:driver update 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).