diff options
author | Potnuri Bharat Teja <bharat@chelsio.com> | 2021-03-31 19:27:15 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-04-16 11:59:08 +0200 |
commit | 0db5a93b046c33ff5c85a650e7014418bc471609 (patch) | |
tree | d88cff9587ce235f76abd008766893730bb817ab | |
parent | bf886e59e29a9e44cbcc12f23bdc61cc05fe3688 (diff) | |
download | linux-stable-0db5a93b046c33ff5c85a650e7014418bc471609.tar.gz linux-stable-0db5a93b046c33ff5c85a650e7014418bc471609.tar.bz2 linux-stable-0db5a93b046c33ff5c85a650e7014418bc471609.zip |
RDMA/cxgb4: check for ipv6 address properly while destroying listener
[ Upstream commit 603c4690b01aaffe3a6c3605a429f6dac39852ae ]
ipv6 bit is wrongly set by the below which causes fatal adapter lookup
engine errors for ipv4 connections while destroying a listener. Fix it to
properly check the local address for ipv6.
Fixes: 3408be145a5d ("RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server")
Link: https://lore.kernel.org/r/20210331135715.30072-1-bharat@chelsio.com
Signed-off-by: Potnuri Bharat Teja <bharat@chelsio.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/infiniband/hw/cxgb4/cm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index 8bd062635399..ed4397c3af1a 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c @@ -3478,7 +3478,8 @@ int c4iw_destroy_listen(struct iw_cm_id *cm_id) c4iw_init_wr_wait(&ep->com.wr_wait); err = cxgb4_remove_server( ep->com.dev->rdev.lldi.ports[0], ep->stid, - ep->com.dev->rdev.lldi.rxq_ids[0], true); + ep->com.dev->rdev.lldi.rxq_ids[0], + ep->com.local_addr.ss_family == AF_INET6); if (err) goto done; err = c4iw_wait_for_reply(&ep->com.dev->rdev, &ep->com.wr_wait, |