Thread (6 messages) 6 messages, 2 authors, 2010-08-25
STALE5797d
Revisions (2)
  1. v1 current
  2. v1 [diff vs current]

[PATCH NEXT 1/4] qlcnic: eswitch config fixes

From: Amit Kumar Salecha <hidden>
Date: 2010-08-25 14:03:06
Subsystem: networking drivers, the rest · Maintainers: Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

From: Rajesh Borundia <redacted>

o remove validation before deleting vlan id
o Add missing 'break' while deleting vlan id.

Signed-off-by: Rajesh Borundia <redacted>
Signed-off-by: Amit Kumar Salecha <redacted>
---
 drivers/net/qlcnic/qlcnic_ctx.c  |    1 +
 drivers/net/qlcnic/qlcnic_main.c |   26 ++++++++++++++------------
 2 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/drivers/net/qlcnic/qlcnic_ctx.c b/drivers/net/qlcnic/qlcnic_ctx.c
index 315705b..bd4b06b 100644
--- a/drivers/net/qlcnic/qlcnic_ctx.c
+++ b/drivers/net/qlcnic/qlcnic_ctx.c
@@ -1160,6 +1160,7 @@ int qlcnic_config_switch_port(struct qlcnic_adapter *adapter,
 	case QLCNIC_DEL_VLAN:
 			arg1 |= (BIT_3 | BIT_5);
 			arg1 &= ~(0x0ffff << 16);
+			break;
 	default:
 		return err;
 	}
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index 46b9137..5d93b46 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -3301,8 +3301,6 @@ validate_esw_config(struct qlcnic_adapter *adapter,
 				return QL_STATUS_INVALID_PARAM;
 			break;
 		case QLCNIC_DEL_VLAN:
-			if (!IS_VALID_VLAN(esw_cfg[i].vlan_id))
-				return QL_STATUS_INVALID_PARAM;
 			if (!esw_cfg[i].op_type)
 				return QL_STATUS_INVALID_PARAM;
 			break;
@@ -3338,21 +3336,25 @@ qlcnic_sysfs_write_esw_config(struct file *file, struct kobject *kobj,
 		if (adapter->op_mode == QLCNIC_MGMT_FUNC)
 			if (qlcnic_config_switch_port(adapter, &esw_cfg[i]))
 				return QL_STATUS_INVALID_PARAM;
-		if (adapter->ahw.pci_func == esw_cfg[i].pci_func)
-			op_mode = esw_cfg[i].op_mode;
-			qlcnic_get_eswitch_port_config(adapter, &esw_cfg[i]);
-			esw_cfg[i].op_mode = op_mode;
-			esw_cfg[i].pci_func = adapter->ahw.pci_func;
-			switch (esw_cfg[i].op_mode) {
-			case QLCNIC_PORT_DEFAULTS:
-				qlcnic_set_eswitch_port_features(adapter,
-								&esw_cfg[i]);
-				break;
+
+		if (adapter->ahw.pci_func != esw_cfg[i].pci_func)
+			continue;
+
+		op_mode = esw_cfg[i].op_mode;
+		qlcnic_get_eswitch_port_config(adapter, &esw_cfg[i]);
+		esw_cfg[i].op_mode = op_mode;
+		esw_cfg[i].pci_func = adapter->ahw.pci_func;
+
+		switch (esw_cfg[i].op_mode) {
+		case QLCNIC_PORT_DEFAULTS:
+			qlcnic_set_eswitch_port_features(adapter, &esw_cfg[i]);
+			break;
 		}
 	}
 
 	if (adapter->op_mode != QLCNIC_MGMT_FUNC)
 		goto out;
+
 	for (i = 0; i < count; i++) {
 		pci_func = esw_cfg[i].pci_func;
 		npar = &adapter->npars[pci_func];
-- 
1.6.0.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help