qed: Fix LL2 race during connection terminate
authorMichal Kalderon <Michal.Kalderon@cavium.com>
Wed, 16 May 2018 11:44:40 +0000 (14:44 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 May 2018 18:49:01 +0000 (14:49 -0400)
commitfc16f56b7bfd5bfe812ba2cd3a4c8943977e8306
tree0d12245b861553c062197f7b7c7ab844bd23b5ff
parent6291c608a908a9d62be650373bce7f734311d07c
qed: Fix LL2 race during connection terminate

Stress on qedi/qedr load unload lead to list_del corruption.
This is due to ll2 connection terminate freeing resources without
verifying that no more ll2 processing will occur.

This patch unregisters the ll2 status block before terminating
the connection to assure this race does not occur.

Fixes: 1d6cff4fca4366 ("qed: Add iSCSI out of order packet handling")
Signed-off-by: Ariel Elior <Ariel.Elior@cavium.com>
Signed-off-by: Michal Kalderon <Michal.Kalderon@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qed/qed_ll2.c