Refactor the if condition into nested conditionals to improve clarity. The condition is currently in the form of (E1 && E2 && E3), where the variable keyidx is assigned a value in E3. Signed-off-by: Wang Jinchao <wangjinchao600@xxxxxxxxx> --- drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c index ca09367005e1..5da8ac401df0 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c @@ -1121,10 +1121,12 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, /* skb: hdr + (possibly fragmented, possibly encrypted) payload */ - if (ieee->host_decrypt && (fc & IEEE80211_FCTL_WEP) && - (keyidx = ieee80211_rx_frame_decrypt(ieee, skb, crypt)) < 0) { - netdev_dbg(ieee->dev, "decrypt frame error\n"); - goto rx_dropped; + if (ieee->host_decrypt && (fc & IEEE80211_FCTL_WEP)) { + keyidx = ieee80211_rx_frame_decrypt(ieee, skb, crypt); + if (keyidx < 0) { + netdev_dbg(ieee->dev, "decrypt frame error\n"); + goto rx_dropped; + } } -- 2.40.0