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

Commit 850c211c authored by Ulrich Kunitz's avatar Ulrich Kunitz Committed by Jeff Garzik
Browse files

[PATCH] zd1211rw: Optimized handling of zero length entries in length info



There are a high number of split USB transactions, which contain
only one packet but have a length info field. This patch optimizes
this code by stopping parsing the length info structure if a zero
length field is encountered.

Signed-off-by: default avatarUlrich Kunitz <kune@deine-taler.de>
Signed-off-by: default avatarDaniel Drake <dsd@gentoo.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 741fec53
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -593,6 +593,8 @@ static void handle_rx_packet(struct zd_usb *usb, const u8 *buffer,
		unsigned int l, k, n;
		for (i = 0, l = 0;; i++) {
			k = le16_to_cpu(get_unaligned(&length_info->length[i]));
			if (k == 0)
				return;
			n = l+k;
			if (n > length)
				return;