* [PATCH net-next 0/4] be2net fixes @ 2011-11-11 5:17 Sathya Perla 2011-11-11 5:17 ` [PATCH net-next 1/4] be2net: init (vf)_if_handle/vf_pmac_id to handle failure scenarios Sathya Perla ` (4 more replies) 0 siblings, 5 replies; 12+ messages in thread From: Sathya Perla @ 2011-11-11 5:17 UTC (permalink / raw) To: netdev Pls apply. Thanks. Sathya Perla (4): be2net: init (vf)_if_handle/vf_pmac_id to handle failure scenarios be2net: stop checking the UE registers after an EEH error be2net: don't log more than one error on detecting EEH/UE errors be2net: stop issuing FW cmds if any cmd times out drivers/net/ethernet/emulex/benet/be.h | 16 ++++--- drivers/net/ethernet/emulex/benet/be_cmds.c | 49 +++++++------------- drivers/net/ethernet/emulex/benet/be_cmds.h | 4 +- drivers/net/ethernet/emulex/benet/be_main.c | 66 ++++++++++++++++----------- 4 files changed, 69 insertions(+), 66 deletions(-) -- 1.7.4 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH net-next 1/4] be2net: init (vf)_if_handle/vf_pmac_id to handle failure scenarios 2011-11-11 5:17 [PATCH net-next 0/4] be2net fixes Sathya Perla @ 2011-11-11 5:17 ` Sathya Perla 2011-11-11 5:17 ` [PATCH net-next 2/4] be2net: stop checking the UE registers after an EEH error Sathya Perla ` (3 subsequent siblings) 4 siblings, 0 replies; 12+ messages in thread From: Sathya Perla @ 2011-11-11 5:17 UTC (permalink / raw) To: netdev Initialize if_handle, vf_if_handle and vf_pmac_id with "-1" so that in failure cases when be_clear() is called, we can skip over if_destroy/pmac_del cmds if they have not been created. Signed-off-by: Sathya Perla <sathya.perla@emulex.com> --- drivers/net/ethernet/emulex/benet/be.h | 8 +-- drivers/net/ethernet/emulex/benet/be_cmds.c | 9 +++- drivers/net/ethernet/emulex/benet/be_cmds.h | 4 +- drivers/net/ethernet/emulex/benet/be_main.c | 55 +++++++++++++++------------ 4 files changed, 42 insertions(+), 34 deletions(-) diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h index 644e8fe..4163980 100644 --- a/drivers/net/ethernet/emulex/benet/be.h +++ b/drivers/net/ethernet/emulex/benet/be.h @@ -289,14 +289,12 @@ struct be_drv_stats { struct be_vf_cfg { unsigned char vf_mac_addr[ETH_ALEN]; - u32 vf_if_handle; - u32 vf_pmac_id; + int vf_if_handle; + int vf_pmac_id; u16 vf_vlan_tag; u32 vf_tx_rate; }; -#define BE_INVALID_PMAC_ID 0xffffffff - struct be_adapter { struct pci_dev *pdev; struct net_device *netdev; @@ -347,7 +345,7 @@ struct be_adapter { /* Ethtool knobs and info */ char fw_ver[FW_VER_LEN]; - u32 if_handle; /* Used to configure filtering */ + int if_handle; /* Used to configure filtering */ u32 pmac_id; /* MAC addr handle used by BE card */ u32 beacon_state; /* for set_phys_id */ diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c index 2c7b366..c5912c4 100644 --- a/drivers/net/ethernet/emulex/benet/be_cmds.c +++ b/drivers/net/ethernet/emulex/benet/be_cmds.c @@ -695,12 +695,15 @@ err: } /* Uses synchronous MCCQ */ -int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, u32 pmac_id, u32 dom) +int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, int pmac_id, u32 dom) { struct be_mcc_wrb *wrb; struct be_cmd_req_pmac_del *req; int status; + if (pmac_id == -1) + return 0; + spin_lock_bh(&adapter->mcc_lock); wrb = wrb_from_mccq(adapter); @@ -1136,7 +1139,7 @@ err: } /* Uses MCCQ */ -int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id, u32 domain) +int be_cmd_if_destroy(struct be_adapter *adapter, int interface_id, u32 domain) { struct be_mcc_wrb *wrb; struct be_cmd_req_if_destroy *req; @@ -1145,7 +1148,7 @@ int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id, u32 domain) if (adapter->eeh_err) return -EIO; - if (!interface_id) + if (interface_id == -1) return 0; spin_lock_bh(&adapter->mcc_lock); diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.h b/drivers/net/ethernet/emulex/benet/be_cmds.h index a35cd03..0818039 100644 --- a/drivers/net/ethernet/emulex/benet/be_cmds.h +++ b/drivers/net/ethernet/emulex/benet/be_cmds.h @@ -1417,11 +1417,11 @@ extern int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr, extern int be_cmd_pmac_add(struct be_adapter *adapter, u8 *mac_addr, u32 if_id, u32 *pmac_id, u32 domain); extern int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, - u32 pmac_id, u32 domain); + int pmac_id, u32 domain); extern int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags, u8 *mac, u32 *if_handle, u32 *pmac_id, u32 domain); -extern int be_cmd_if_destroy(struct be_adapter *adapter, u32 if_handle, +extern int be_cmd_if_destroy(struct be_adapter *adapter, int if_handle, u32 domain); extern int be_cmd_eq_create(struct be_adapter *adapter, struct be_queue_info *eq, int eq_delay); diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index bf266a0..83d971d 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -848,15 +848,11 @@ static int be_set_vf_mac(struct net_device *netdev, int vf, u8 *mac) if (!is_valid_ether_addr(mac) || (vf >= num_vfs)) return -EINVAL; - if (adapter->vf_cfg[vf].vf_pmac_id != BE_INVALID_PMAC_ID) - status = be_cmd_pmac_del(adapter, - adapter->vf_cfg[vf].vf_if_handle, - adapter->vf_cfg[vf].vf_pmac_id, vf + 1); + status = be_cmd_pmac_del(adapter, adapter->vf_cfg[vf].vf_if_handle, + adapter->vf_cfg[vf].vf_pmac_id, vf + 1); - status = be_cmd_pmac_add(adapter, mac, - adapter->vf_cfg[vf].vf_if_handle, + status = be_cmd_pmac_add(adapter, mac, adapter->vf_cfg[vf].vf_if_handle, &adapter->vf_cfg[vf].vf_pmac_id, vf + 1); - if (status) dev_err(&adapter->pdev->dev, "MAC %pM set on VF %d Failed\n", mac, vf); @@ -2488,17 +2484,13 @@ static void be_vf_clear(struct be_adapter *adapter) { u32 vf; - for (vf = 0; vf < num_vfs; vf++) { - if (adapter->vf_cfg[vf].vf_pmac_id != BE_INVALID_PMAC_ID) - be_cmd_pmac_del(adapter, - adapter->vf_cfg[vf].vf_if_handle, - adapter->vf_cfg[vf].vf_pmac_id, vf + 1); - } + for (vf = 0; vf < num_vfs; vf++) + be_cmd_pmac_del(adapter, adapter->vf_cfg[vf].vf_if_handle, + adapter->vf_cfg[vf].vf_pmac_id, vf + 1); for (vf = 0; vf < num_vfs; vf++) - if (adapter->vf_cfg[vf].vf_if_handle) - be_cmd_if_destroy(adapter, - adapter->vf_cfg[vf].vf_if_handle, vf + 1); + be_cmd_if_destroy(adapter, adapter->vf_cfg[vf].vf_if_handle, + vf + 1); } static int be_clear(struct be_adapter *adapter) @@ -2511,22 +2503,30 @@ static int be_clear(struct be_adapter *adapter) be_mcc_queues_destroy(adapter); be_rx_queues_destroy(adapter); be_tx_queues_destroy(adapter); - adapter->eq_next_idx = 0; - - adapter->be3_native = false; - adapter->promiscuous = false; /* tell fw we're done with firing cmds */ be_cmd_fw_clean(adapter); return 0; } +static void be_vf_setup_init(struct be_adapter *adapter) +{ + int vf; + + for (vf = 0; vf < num_vfs; vf++) { + adapter->vf_cfg[vf].vf_if_handle = -1; + adapter->vf_cfg[vf].vf_pmac_id = -1; + } +} + static int be_vf_setup(struct be_adapter *adapter) { u32 cap_flags, en_flags, vf; u16 lnk_speed; int status; + be_vf_setup_init(adapter); + cap_flags = en_flags = BE_IF_FLAGS_UNTAGGED | BE_IF_FLAGS_BROADCAST; for (vf = 0; vf < num_vfs; vf++) { status = be_cmd_if_create(adapter, cap_flags, en_flags, NULL, @@ -2534,7 +2534,6 @@ static int be_vf_setup(struct be_adapter *adapter) NULL, vf+1); if (status) goto err; - adapter->vf_cfg[vf].vf_pmac_id = BE_INVALID_PMAC_ID; } if (!lancer_chip(adapter)) { @@ -2555,6 +2554,16 @@ err: return status; } +static void be_setup_init(struct be_adapter *adapter) +{ + adapter->vlan_prio_bmap = 0xff; + adapter->link_speed = -1; + adapter->if_handle = -1; + adapter->be3_native = false; + adapter->promiscuous = false; + adapter->eq_next_idx = 0; +} + static int be_setup(struct be_adapter *adapter) { struct net_device *netdev = adapter->netdev; @@ -2563,9 +2572,7 @@ static int be_setup(struct be_adapter *adapter) int status; u8 mac[ETH_ALEN]; - /* Allow all priorities by default. A GRP5 evt may modify this */ - adapter->vlan_prio_bmap = 0xff; - adapter->link_speed = -1; + be_setup_init(adapter); be_cmd_req_native_mode(adapter); -- 1.7.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next 2/4] be2net: stop checking the UE registers after an EEH error 2011-11-11 5:17 [PATCH net-next 0/4] be2net fixes Sathya Perla 2011-11-11 5:17 ` [PATCH net-next 1/4] be2net: init (vf)_if_handle/vf_pmac_id to handle failure scenarios Sathya Perla @ 2011-11-11 5:17 ` Sathya Perla 2011-11-11 5:17 ` [PATCH net-next 3/4] be2net: don't log more than one error on detecting EEH/UE errors Sathya Perla ` (2 subsequent siblings) 4 siblings, 0 replies; 12+ messages in thread From: Sathya Perla @ 2011-11-11 5:17 UTC (permalink / raw) To: netdev Signed-off-by: Sathya Perla <sathya.perla@emulex.com> --- drivers/net/ethernet/emulex/benet/be_main.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index 83d971d..99da07f 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -1978,6 +1978,9 @@ void be_detect_dump_ue(struct be_adapter *adapter) u32 sliport_status = 0, sliport_err1 = 0, sliport_err2 = 0; u32 i; + if (adapter->eeh_err || adapter->ue_detected) + return; + if (lancer_chip(adapter)) { sliport_status = ioread32(adapter->db + SLIPORT_STATUS_OFFSET); if (sliport_status & SLIPORT_STATUS_ERR_MASK) { @@ -2039,8 +2042,7 @@ static void be_worker(struct work_struct *work) struct be_rx_obj *rxo; int i; - if (!adapter->ue_detected) - be_detect_dump_ue(adapter); + be_detect_dump_ue(adapter); /* when interrupts are not yet enabled, just reap any pending * mcc completions */ -- 1.7.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next 3/4] be2net: don't log more than one error on detecting EEH/UE errors 2011-11-11 5:17 [PATCH net-next 0/4] be2net fixes Sathya Perla 2011-11-11 5:17 ` [PATCH net-next 1/4] be2net: init (vf)_if_handle/vf_pmac_id to handle failure scenarios Sathya Perla 2011-11-11 5:17 ` [PATCH net-next 2/4] be2net: stop checking the UE registers after an EEH error Sathya Perla @ 2011-11-11 5:17 ` Sathya Perla 2011-11-11 5:18 ` [PATCH net-next 4/4] be2net: stop issuing FW cmds if any cmd times out Sathya Perla 2011-11-12 22:59 ` [PATCH net-next 0/4] be2net fixes David Miller 4 siblings, 0 replies; 12+ messages in thread From: Sathya Perla @ 2011-11-11 5:17 UTC (permalink / raw) To: netdev Currently we're spamming error messages each time a FW cmd call is made while in EEH/UE error state. One log msg on error detection is enough. Signed-off-by: Sathya Perla <sathya.perla@emulex.com> --- drivers/net/ethernet/emulex/benet/be_cmds.c | 15 +++------------ drivers/net/ethernet/emulex/benet/be_main.c | 3 ++- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c index c5912c4..94cd77c 100644 --- a/drivers/net/ethernet/emulex/benet/be_cmds.c +++ b/drivers/net/ethernet/emulex/benet/be_cmds.c @@ -31,11 +31,8 @@ static void be_mcc_notify(struct be_adapter *adapter) struct be_queue_info *mccq = &adapter->mcc_obj.q; u32 val = 0; - if (adapter->eeh_err) { - dev_info(&adapter->pdev->dev, - "Error in Card Detected! Cannot issue commands\n"); + if (adapter->eeh_err) return; - } val |= mccq->id & DB_MCCQ_RING_ID_MASK; val |= 1 << DB_MCCQ_NUM_POSTED_SHIFT; @@ -298,19 +295,13 @@ static int be_mbox_db_ready_wait(struct be_adapter *adapter, void __iomem *db) int msecs = 0; u32 ready; - if (adapter->eeh_err) { - dev_err(&adapter->pdev->dev, - "Error detected in card.Cannot issue commands\n"); + if (adapter->eeh_err) return -EIO; - } do { ready = ioread32(db); - if (ready == 0xffffffff) { - dev_err(&adapter->pdev->dev, - "pci slot disconnected\n"); + if (ready == 0xffffffff) return -1; - } ready &= MPU_MAILBOX_DB_RDY_MASK; if (ready) diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index 99da07f..0e97b6d 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -2007,7 +2007,8 @@ void be_detect_dump_ue(struct be_adapter *adapter) sliport_status & SLIPORT_STATUS_ERR_MASK) { adapter->ue_detected = true; adapter->eeh_err = true; - dev_err(&adapter->pdev->dev, "UE Detected!!\n"); + dev_err(&adapter->pdev->dev, + "Unrecoverable error in the card\n"); } if (ue_lo) { -- 1.7.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next 4/4] be2net: stop issuing FW cmds if any cmd times out 2011-11-11 5:17 [PATCH net-next 0/4] be2net fixes Sathya Perla ` (2 preceding siblings ...) 2011-11-11 5:17 ` [PATCH net-next 3/4] be2net: don't log more than one error on detecting EEH/UE errors Sathya Perla @ 2011-11-11 5:18 ` Sathya Perla 2011-11-12 22:59 ` [PATCH net-next 0/4] be2net fixes David Miller 4 siblings, 0 replies; 12+ messages in thread From: Sathya Perla @ 2011-11-11 5:18 UTC (permalink / raw) To: netdev A FW cmd timeout (with a sufficiently large timeout value in the order of tens of seconds) indicates an unresponsive FW. In this state issuing further cmds and waiting for a completion will only stall the process. Signed-off-by: Sathya Perla <sathya.perla@emulex.com> --- drivers/net/ethernet/emulex/benet/be.h | 8 ++++++- drivers/net/ethernet/emulex/benet/be_cmds.c | 29 ++++++++++---------------- drivers/net/ethernet/emulex/benet/be_main.c | 2 + 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h index 4163980..34f162d 100644 --- a/drivers/net/ethernet/emulex/benet/be.h +++ b/drivers/net/ethernet/emulex/benet/be.h @@ -350,6 +350,8 @@ struct be_adapter { u32 beacon_state; /* for set_phys_id */ bool eeh_err; + bool ue_detected; + bool fw_timeout; u32 port_num; bool promiscuous; bool wol; @@ -357,7 +359,6 @@ struct be_adapter { u32 function_caps; u32 rx_fc; /* Rx flow control */ u32 tx_fc; /* Tx flow control */ - bool ue_detected; bool stats_cmd_sent; int link_speed; u8 port_type; @@ -522,6 +523,11 @@ static inline bool be_multi_rxq(const struct be_adapter *adapter) return adapter->num_rx_qs > 1; } +static inline bool be_error(struct be_adapter *adapter) +{ + return adapter->eeh_err || adapter->ue_detected || adapter->fw_timeout; +} + extern void be_cq_notify(struct be_adapter *adapter, u16 qid, bool arm, u16 num_popped); extern void be_link_status_update(struct be_adapter *adapter, u32 link_status); diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c index 94cd77c..ad3eef0 100644 --- a/drivers/net/ethernet/emulex/benet/be_cmds.c +++ b/drivers/net/ethernet/emulex/benet/be_cmds.c @@ -31,7 +31,7 @@ static void be_mcc_notify(struct be_adapter *adapter) struct be_queue_info *mccq = &adapter->mcc_obj.q; u32 val = 0; - if (adapter->eeh_err) + if (be_error(adapter)) return; val |= mccq->id & DB_MCCQ_RING_ID_MASK; @@ -263,10 +263,10 @@ static int be_mcc_wait_compl(struct be_adapter *adapter) int i, num, status = 0; struct be_mcc_obj *mcc_obj = &adapter->mcc_obj; - if (adapter->eeh_err) - return -EIO; - for (i = 0; i < mcc_timeout; i++) { + if (be_error(adapter)) + return -EIO; + num = be_process_mcc(adapter, &status); if (num) be_cq_notify(adapter, mcc_obj->cq.id, @@ -277,7 +277,8 @@ static int be_mcc_wait_compl(struct be_adapter *adapter) udelay(100); } if (i == mcc_timeout) { - dev_err(&adapter->pdev->dev, "mccq poll timed out\n"); + dev_err(&adapter->pdev->dev, "FW not responding\n"); + adapter->fw_timeout = true; return -1; } return status; @@ -295,10 +296,10 @@ static int be_mbox_db_ready_wait(struct be_adapter *adapter, void __iomem *db) int msecs = 0; u32 ready; - if (adapter->eeh_err) - return -EIO; - do { + if (be_error(adapter)) + return -EIO; + ready = ioread32(db); if (ready == 0xffffffff) return -1; @@ -308,7 +309,8 @@ static int be_mbox_db_ready_wait(struct be_adapter *adapter, void __iomem *db) break; if (msecs > 4000) { - dev_err(&adapter->pdev->dev, "mbox poll timed out\n"); + dev_err(&adapter->pdev->dev, "FW not responding\n"); + adapter->fw_timeout = true; be_detect_dump_ue(adapter); return -1; } @@ -546,9 +548,6 @@ int be_cmd_fw_clean(struct be_adapter *adapter) u8 *wrb; int status; - if (adapter->eeh_err) - return -EIO; - if (mutex_lock_interruptible(&adapter->mbox_lock)) return -1; @@ -1012,9 +1011,6 @@ int be_cmd_q_destroy(struct be_adapter *adapter, struct be_queue_info *q, u8 subsys = 0, opcode = 0; int status; - if (adapter->eeh_err) - return -EIO; - if (mutex_lock_interruptible(&adapter->mbox_lock)) return -1; @@ -1136,9 +1132,6 @@ int be_cmd_if_destroy(struct be_adapter *adapter, int interface_id, u32 domain) struct be_cmd_req_if_destroy *req; int status; - if (adapter->eeh_err) - return -EIO; - if (interface_id == -1) return 0; diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index 0e97b6d..ce20d64 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -3569,6 +3569,8 @@ static pci_ers_result_t be_eeh_reset(struct pci_dev *pdev) dev_info(&adapter->pdev->dev, "EEH reset\n"); adapter->eeh_err = false; + adapter->ue_detected = false; + adapter->fw_timeout = false; status = pci_enable_device(pdev); if (status) -- 1.7.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH net-next 0/4] be2net fixes 2011-11-11 5:17 [PATCH net-next 0/4] be2net fixes Sathya Perla ` (3 preceding siblings ...) 2011-11-11 5:18 ` [PATCH net-next 4/4] be2net: stop issuing FW cmds if any cmd times out Sathya Perla @ 2011-11-12 22:59 ` David Miller 4 siblings, 0 replies; 12+ messages in thread From: David Miller @ 2011-11-12 22:59 UTC (permalink / raw) To: sathya.perla; +Cc: netdev From: Sathya Perla <sathya.perla@emulex.com> Date: Fri, 11 Nov 2011 10:47:56 +0530 > Pls apply. Thanks. > > Sathya Perla (4): > be2net: init (vf)_if_handle/vf_pmac_id to handle failure scenarios > be2net: stop checking the UE registers after an EEH error > be2net: don't log more than one error on detecting EEH/UE errors > be2net: stop issuing FW cmds if any cmd times out All applied, thank you. ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <1335965986-31886-1-git-send-email-somnath.kotur@emulex.com>]
* RE: [PATCH net-next 0/4] be2net fixes [not found] <1335965986-31886-1-git-send-email-somnath.kotur@emulex.com> @ 2012-05-02 14:04 ` Somnath.Kotur 0 siblings, 0 replies; 12+ messages in thread From: Somnath.Kotur @ 2012-05-02 14:04 UTC (permalink / raw) To: Somnath.Kotur, netdev David, Have sent the 4 patches from the earlier patch series of 5 as is without updating the individual patch numbers i.e they still denote patch 1/5 etc. Pls let me know if this is a problem and/or if you want me to resend them again? Thanks Somnath > -----Original Message----- > From: Somnath Kotur [mailto:somnath.kotur@emulex.com] > Sent: Wednesday, May 02, 2012 7:10 PM > To: netdev@vger.kernel.org > Cc: Kotur, Somnath > Subject: [PATCH net-next 0/4] be2net fixes > > Re-posting patches 1-4 from the earlier patch set of 5. > Incorporated review comment from Ben Hutchings in patch 2. > Will address comments in Patch 5 and send it out seperately. > > Somnath Kotur (4): > be2net: Fix to not set link speed for disabled functions of a UMC > card > be2net: Fix to apply duplex value as unknown when link is down. > be2net: Record receive queue index in skb to aid RPS. > be2net: Fix EEH error reset before a flash dump completes > > drivers/net/ethernet/emulex/benet/be_ethtool.c | 4 ++-- > drivers/net/ethernet/emulex/benet/be_main.c | 7 +++++++ > 2 files changed, 9 insertions(+), 2 deletions(-) ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH net-next 0/4] be2net fixes @ 2012-05-02 13:39 Somnath Kotur 2012-05-03 1:07 ` David Miller 0 siblings, 1 reply; 12+ messages in thread From: Somnath Kotur @ 2012-05-02 13:39 UTC (permalink / raw) To: netdev; +Cc: Somnath Kotur Re-posting patches 1-4 from the earlier patch set of 5. Incorporated review comment from Ben Hutchings in patch 2. Will address comments in Patch 5 and send it out seperately. Somnath Kotur (4): be2net: Fix to not set link speed for disabled functions of a UMC card be2net: Fix to apply duplex value as unknown when link is down. be2net: Record receive queue index in skb to aid RPS. be2net: Fix EEH error reset before a flash dump completes drivers/net/ethernet/emulex/benet/be_ethtool.c | 4 ++-- drivers/net/ethernet/emulex/benet/be_main.c | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net-next 0/4] be2net fixes 2012-05-02 13:39 Somnath Kotur @ 2012-05-03 1:07 ` David Miller 0 siblings, 0 replies; 12+ messages in thread From: David Miller @ 2012-05-03 1:07 UTC (permalink / raw) To: somnath.kotur; +Cc: netdev From: Somnath Kotur <somnath.kotur@emulex.com> Date: Wed, 2 May 2012 19:09:46 +0530 > Re-posting patches 1-4 from the earlier patch set of 5. > Incorporated review comment from Ben Hutchings in patch 2. > Will address comments in Patch 5 and send it out seperately. > > Somnath Kotur (4): > be2net: Fix to not set link speed for disabled functions of a UMC > card > be2net: Fix to apply duplex value as unknown when link is down. > be2net: Record receive queue index in skb to aid RPS. > be2net: Fix EEH error reset before a flash dump completes All applied, thanks. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH net-next 0/4] be2net: fixes @ 2011-10-24 12:44 Sathya Perla 2011-10-24 22:35 ` David Miller 0 siblings, 1 reply; 12+ messages in thread From: Sathya Perla @ 2011-10-24 12:44 UTC (permalink / raw) To: netdev Pls apply. Sathya Perla (4): be2net: add vlan/rx-mode/flow-control config to be_setup() be2net: refactor VF setup/teardown code into be_vf_setup/clear() be2net: don't create multiple TXQs in BE2 be2net: don't create multiple RX/TX rings in multi channel mode drivers/net/ethernet/emulex/benet/be_cmds.c | 66 +++-- drivers/net/ethernet/emulex/benet/be_cmds.h | 10 +- drivers/net/ethernet/emulex/benet/be_main.c | 362 +++++++++++++-------------- 3 files changed, 222 insertions(+), 216 deletions(-) -- 1.7.4 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net-next 0/4] be2net: fixes 2011-10-24 12:44 [PATCH net-next 0/4] be2net: fixes Sathya Perla @ 2011-10-24 22:35 ` David Miller 2011-10-25 4:49 ` Sathya.Perla 0 siblings, 1 reply; 12+ messages in thread From: David Miller @ 2011-10-24 22:35 UTC (permalink / raw) To: sathya.perla; +Cc: netdev From: Sathya Perla <sathya.perla@emulex.com> Date: Mon, 24 Oct 2011 18:14:59 +0530 > Pls apply. > > Sathya Perla (4): > be2net: add vlan/rx-mode/flow-control config to be_setup() > be2net: refactor VF setup/teardown code into be_vf_setup/clear() > be2net: don't create multiple TXQs in BE2 > be2net: don't create multiple RX/TX rings in multi channel mode Applied, but many of your commit messages were poorly formatted (lines exceeding 80 columns) and patches #1 and #2 had several trailing whitespace errors. I fixed this all up, but you have to be better than this. ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [PATCH net-next 0/4] be2net: fixes 2011-10-24 22:35 ` David Miller @ 2011-10-25 4:49 ` Sathya.Perla 0 siblings, 0 replies; 12+ messages in thread From: Sathya.Perla @ 2011-10-25 4:49 UTC (permalink / raw) To: davem; +Cc: netdev >-----Original Message----- >From: David Miller [mailto:davem@davemloft.net] >Sent: Tuesday, October 25, 2011 4:06 AM > >From: Sathya Perla <sathya.perla@emulex.com> >Date: Mon, 24 Oct 2011 18:14:59 +0530 > >> Pls apply. >> >> Sathya Perla (4): >> be2net: add vlan/rx-mode/flow-control config to be_setup() >> be2net: refactor VF setup/teardown code into be_vf_setup/clear() >> be2net: don't create multiple TXQs in BE2 >> be2net: don't create multiple RX/TX rings in multi channel mode > >Applied, but many of your commit messages were poorly formatted (lines >exceeding 80 columns) and patches #1 and #2 had several trailing >whitespace errors. > >I fixed this all up, but you have to be better than this. Dave, thanks. Will be careful.... ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-05-03 1:07 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-11-11 5:17 [PATCH net-next 0/4] be2net fixes Sathya Perla 2011-11-11 5:17 ` [PATCH net-next 1/4] be2net: init (vf)_if_handle/vf_pmac_id to handle failure scenarios Sathya Perla 2011-11-11 5:17 ` [PATCH net-next 2/4] be2net: stop checking the UE registers after an EEH error Sathya Perla 2011-11-11 5:17 ` [PATCH net-next 3/4] be2net: don't log more than one error on detecting EEH/UE errors Sathya Perla 2011-11-11 5:18 ` [PATCH net-next 4/4] be2net: stop issuing FW cmds if any cmd times out Sathya Perla 2011-11-12 22:59 ` [PATCH net-next 0/4] be2net fixes David Miller [not found] <1335965986-31886-1-git-send-email-somnath.kotur@emulex.com> 2012-05-02 14:04 ` Somnath.Kotur -- strict thread matches above, loose matches on Subject: below -- 2012-05-02 13:39 Somnath Kotur 2012-05-03 1:07 ` David Miller 2011-10-24 12:44 [PATCH net-next 0/4] be2net: fixes Sathya Perla 2011-10-24 22:35 ` David Miller 2011-10-25 4:49 ` Sathya.Perla
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).