mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 21:45:45 +02:00
rocker: fix a sleeping in atomic bug
[ Upstream commit43d0121231] This code is holding the &ofdpa->flow_tbl_lock spinlock so it is not allowed to sleep. That means we have to pass the OFDPA_OP_FLAG_NOWAIT flag to ofdpa_flow_tbl_del(). Fixes:936bd48656("rocker: use FIB notifications instead of switchdev calls") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
2db344725e
commit
a1068bfee4
|
|
@ -2795,7 +2795,8 @@ static void ofdpa_fib4_abort(struct rocker *rocker)
|
||||||
if (!ofdpa_port)
|
if (!ofdpa_port)
|
||||||
continue;
|
continue;
|
||||||
nh->fib_nh_flags &= ~RTNH_F_OFFLOAD;
|
nh->fib_nh_flags &= ~RTNH_F_OFFLOAD;
|
||||||
ofdpa_flow_tbl_del(ofdpa_port, OFDPA_OP_FLAG_REMOVE,
|
ofdpa_flow_tbl_del(ofdpa_port,
|
||||||
|
OFDPA_OP_FLAG_REMOVE | OFDPA_OP_FLAG_NOWAIT,
|
||||||
flow_entry);
|
flow_entry);
|
||||||
}
|
}
|
||||||
spin_unlock_irqrestore(&ofdpa->flow_tbl_lock, flags);
|
spin_unlock_irqrestore(&ofdpa->flow_tbl_lock, flags);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user