Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed484a16 authored by Juuso Oikarinen's avatar Juuso Oikarinen Committed by Luciano Coelho
Browse files

wl1271: Fix tid-configuration of TX frames



Incorrect TID was configured for TX frames. This resulted in incorrect
queues to be used for classes in transmission.

Signed-off-by: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
parent 11eb5429
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -110,9 +110,9 @@ static int wl1271_tx_fill_hdr(struct wl1271 *wl, struct sk_buff *skb,
	/* configure the tx attributes */
	tx_attr = wl->session_counter << TX_HW_ATTR_OFST_SESSION_COUNTER;

	/* queue */
	/* queue (we use same identifiers for tid's and ac's */
	ac = wl1271_tx_get_queue(skb_get_queue_mapping(skb));
	desc->tid = wl1271_tx_ac_to_tid(ac);
	desc->tid = ac;

	desc->aid = TX_HW_DEFAULT_AID;
	desc->reserved = 0;
+0 −17
Original line number Diff line number Diff line
@@ -139,23 +139,6 @@ static inline int wl1271_tx_get_queue(int queue)
	}
}

/* wl1271 tx descriptor needs the tid and we need to convert it from ac */
static inline int wl1271_tx_ac_to_tid(int ac)
{
	switch (ac) {
	case 0:
		return 0;
	case 1:
		return 2;
	case 2:
		return 4;
	case 3:
		return 6;
	default:
		return 0;
	}
}

void wl1271_tx_work(struct work_struct *work);
void wl1271_tx_complete(struct wl1271 *wl);
void wl1271_tx_reset(struct wl1271 *wl);