| From foo@baz Thu 09 Apr 2020 12:21:12 PM CEST |
| From: Herat Ramani <herat@chelsio.com> |
| Date: Wed, 1 Apr 2020 01:16:09 +0530 |
| Subject: cxgb4: fix MPS index overwrite when setting MAC address |
| |
| From: Herat Ramani <herat@chelsio.com> |
| |
| [ Upstream commit 41aa8561ca3fc5748391f08cc5f3e561923da52c ] |
| |
| cxgb4_update_mac_filt() earlier requests firmware to add a new MAC |
| address into MPS TCAM. The MPS TCAM index returned by firmware is |
| stored in pi->xact_addr_filt. However, the saved MPS TCAM index gets |
| overwritten again with the return value of cxgb4_update_mac_filt(), |
| which is wrong. |
| |
| When trying to update to another MAC address later, the wrong MPS TCAM |
| index is sent to firmware, which causes firmware to return error, |
| because it's not the same MPS TCAM index that firmware had sent |
| earlier to driver. |
| |
| So, fix by removing the wrong overwrite being done after call to |
| cxgb4_update_mac_filt(). |
| |
| Fixes: 3f8cfd0d95e6 ("cxgb4/cxgb4vf: Program hash region for {t4/t4vf}_change_mac()") |
| Signed-off-by: Herat Ramani <herat@chelsio.com> |
| Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c |
| +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c |
| @@ -3138,7 +3138,6 @@ static int cxgb_set_mac_addr(struct net_ |
| return ret; |
| |
| memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); |
| - pi->xact_addr_filt = ret; |
| return 0; |
| } |
| |