diff mbox series

[2/6] staging: vt6656: vnt_get_rtscts_duration_le use ieee80211_rts_duration

Message ID 377a4cc3-cfe3-91aa-cf71-1063f311426a@gmail.com (mailing list archive)
State Not Applicable
Delegated to: Johannes Berg
Headers show
Series [1/6] staging: vt6656: vnt_rxtx_rsvtime_le16 to use ieee80211_generic_frame_duration. | expand

Commit Message

Malcolm Priestley May 5, 2020, 9:13 p.m. UTC
use the mac80211 ieee80211_rts_duration for RTS frames.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
---
 drivers/staging/vt6656/rxtx.c | 20 +++++---------------
 1 file changed, 5 insertions(+), 15 deletions(-)

Comments

Dan Carpenter May 13, 2020, 8:07 a.m. UTC | #1
On Tue, May 05, 2020 at 10:13:54PM +0100, Malcolm Priestley wrote:
> diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c
> index 6724b213a723..48fe16c27d3f 100644
> --- a/drivers/staging/vt6656/rxtx.c
> +++ b/drivers/staging/vt6656/rxtx.c
> @@ -285,28 +285,18 @@ static __le16 vnt_get_rtscts_duration_le(struct vnt_usb_send_context *context,
>  					 u8 dur_type, u8 pkt_type, u16 rate)
>  {
>  	struct vnt_private *priv = context->priv;
> -	u32 cts_time = 0, dur_time = 0;
> +	u32 dur_time = 0;
>  	u32 frame_length = context->frame_len;
>  	u8 need_ack = context->need_ack;
> +	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(context->skb);
>  
>  	switch (dur_type) {
> +	/* fall through */
>  	case RTSDUR_BB:
>  	case RTSDUR_BA:

This fall through annotation shouldn't be necessary.  It's not preceded
by a case statement.  Also you don't need /* fall through */ for empty
case statements.  In other words you only need it for stuff like this:

	case FOO:
	case BAR:
		frob();
		frob();
		/* fall through */
	case BAZ:

regards,
dan carpenter
Dan Carpenter May 13, 2020, 8:11 a.m. UTC | #2
Btw, I don't know if this has already been applied.  I'm fine with
applying it as-is.  The code doesn't hurt anything and it disappears
later in the series anyways.

I only mentioned this about fall through for future reference.

regards,
dan carpenter
diff mbox series

Patch

diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c
index 6724b213a723..48fe16c27d3f 100644
--- a/drivers/staging/vt6656/rxtx.c
+++ b/drivers/staging/vt6656/rxtx.c
@@ -285,28 +285,18 @@  static __le16 vnt_get_rtscts_duration_le(struct vnt_usb_send_context *context,
 					 u8 dur_type, u8 pkt_type, u16 rate)
 {
 	struct vnt_private *priv = context->priv;
-	u32 cts_time = 0, dur_time = 0;
+	u32 dur_time = 0;
 	u32 frame_length = context->frame_len;
 	u8 need_ack = context->need_ack;
+	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(context->skb);
 
 	switch (dur_type) {
+	/* fall through */
 	case RTSDUR_BB:
 	case RTSDUR_BA:
-		cts_time = vnt_get_frame_time(priv->preamble_type, pkt_type,
-					      14, priv->top_cck_basic_rate);
-		dur_time = cts_time + 2 * priv->sifs +
-			vnt_get_rsvtime(priv, pkt_type,
-					frame_length, rate, need_ack);
-		break;
-
 	case RTSDUR_AA:
-		cts_time = vnt_get_frame_time(priv->preamble_type, pkt_type,
-					      14, priv->top_ofdm_basic_rate);
-		dur_time = cts_time + 2 * priv->sifs +
-			vnt_get_rsvtime(priv, pkt_type,
-					frame_length, rate, need_ack);
-		break;
-
+		return ieee80211_rts_duration(priv->hw, priv->vif,
+					      context->frame_len, info);
 	case CTSDUR_BA:
 		dur_time = priv->sifs + vnt_get_rsvtime(priv,
 				pkt_type, frame_length, rate, need_ack);