From: Martin Kaiser Date: Sun, 27 Feb 2022 16:41:42 +0000 (+0100) Subject: staging: r8188eu: refactor validate_recv_frame's error handling X-Git-Tag: howlett/maple/20220722_2~883^2~77 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=aacd0400c7f3eccfba3df30d80f194abe1aa4111;p=users%2Fjedix%2Flinux-maple.git staging: r8188eu: refactor validate_recv_frame's error handling Refactor the error handling of validate_recv_frame. It's simpler to default to _FAIL. Signed-off-by: Martin Kaiser Link: https://lore.kernel.org/r/20220227164147.1168847-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r8188eu/core/rtw_recv.c index e95c9a47dcac2..364bf78c36e98 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -1058,7 +1058,7 @@ static int validate_recv_frame(struct adapter *adapter, struct recv_frame *precv /* then call check if rx seq/frag. duplicated. */ u8 subtype; - int retval = _SUCCESS; + int retval = _FAIL; u8 bDumpRxPkt; struct rx_pkt_attrib *pattrib = &precv_frame->attrib; u8 *ptr = precv_frame->rx_data; @@ -1073,10 +1073,8 @@ static int validate_recv_frame(struct adapter *adapter, struct recv_frame *precv } /* add version chk */ - if (ver != 0) { - retval = _FAIL; - goto exit; - } + if (ver != 0) + return _FAIL; subtype = GetFrameSubType(ptr); /* bit(7)~bit(2) */ @@ -1094,13 +1092,12 @@ static int validate_recv_frame(struct adapter *adapter, struct recv_frame *precv /* Dump rx packets */ GetHalDefVar8188EUsb(adapter, HAL_DEF_DBG_DUMP_RXPKT, &bDumpRxPkt); - if (ieee80211_is_mgmt(fc)) { + /* We return _SUCCESS only for data frames. */ + if (ieee80211_is_mgmt(fc)) validate_recv_mgnt_frame(adapter, precv_frame); - retval = _FAIL; /* only data frame return _SUCCESS */ - } else if (ieee80211_is_ctl(fc)) { + else if (ieee80211_is_ctl(fc)) validate_recv_ctrl_frame(adapter, precv_frame); - retval = _FAIL; /* only data frame return _SUCCESS */ - } else if (ieee80211_is_data(fc)) { + else if (ieee80211_is_data(fc)) { rtw_led_control(adapter, LED_CTL_RX); pattrib->qos = (subtype & BIT(7)) ? 1 : 0; retval = validate_recv_data_frame(adapter, precv_frame); @@ -1108,10 +1105,7 @@ static int validate_recv_frame(struct adapter *adapter, struct recv_frame *precv struct recv_priv *precvpriv = &adapter->recvpriv; precvpriv->rx_drop++; } - } else - retval = _FAIL; - -exit: + } return retval; }