Commit 2f651328 authored by David S. Miller's avatar David S. Miller

Merge branch 'lan966x-fixes'

Horatiu Vultur says:

====================
net: lan966x: Fixes for sleep in atomic context

This patch series contains 2 fixes for lan966x that is sleeping in atomic
context. The first patch fixes the injection of the frames while the second
one fixes the updating of the MAC table.

v1->v2:
 - correct the fix tag in the second patch, it was using the wrong sha.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 8199d0c6 77bdaf39
...@@ -40,11 +40,12 @@ static int lan966x_mac_wait_for_completion(struct lan966x *lan966x) ...@@ -40,11 +40,12 @@ static int lan966x_mac_wait_for_completion(struct lan966x *lan966x)
{ {
u32 val; u32 val;
return readx_poll_timeout(lan966x_mac_get_status, return readx_poll_timeout_atomic(lan966x_mac_get_status,
lan966x, val, lan966x, val,
(ANA_MACACCESS_MAC_TABLE_CMD_GET(val)) == (ANA_MACACCESS_MAC_TABLE_CMD_GET(val)) ==
MACACCESS_CMD_IDLE, MACACCESS_CMD_IDLE,
TABLE_UPDATE_SLEEP_US, TABLE_UPDATE_TIMEOUT_US); TABLE_UPDATE_SLEEP_US,
TABLE_UPDATE_TIMEOUT_US);
} }
static void lan966x_mac_select(struct lan966x *lan966x, static void lan966x_mac_select(struct lan966x *lan966x,
......
...@@ -182,9 +182,9 @@ static int lan966x_port_inj_ready(struct lan966x *lan966x, u8 grp) ...@@ -182,9 +182,9 @@ static int lan966x_port_inj_ready(struct lan966x *lan966x, u8 grp)
{ {
u32 val; u32 val;
return readx_poll_timeout(lan966x_port_inj_status, lan966x, val, return readx_poll_timeout_atomic(lan966x_port_inj_status, lan966x, val,
QS_INJ_STATUS_FIFO_RDY_GET(val) & BIT(grp), QS_INJ_STATUS_FIFO_RDY_GET(val) & BIT(grp),
READL_SLEEP_US, READL_TIMEOUT_US); READL_SLEEP_US, READL_TIMEOUT_US);
} }
static int lan966x_port_ifh_xmit(struct sk_buff *skb, static int lan966x_port_ifh_xmit(struct sk_buff *skb,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment