net: ipa: use the right accessor in ipa_endpoint_status_skip()
authorAlex Elder <elder@linaro.org>
Mon, 1 Feb 2021 23:26:08 +0000 (17:26 -0600)
committerJakub Kicinski <kuba@kernel.org>
Tue, 2 Feb 2021 16:48:15 +0000 (08:48 -0800)
When extracting the destination endpoint ID from the status in
ipa_endpoint_status_skip(), u32_get_bits() is used.  This happens to
work, but it's wrong: the structure field is only 8 bits wide
instead of 32.

Fix this by using u8_get_bits() to get the destination endpoint ID.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ipa/ipa_endpoint.c

index 448d89da1e456704d5b0bafc94d957dba5d16f2c..612afece303f3519a35fd8fc9c834bc72bd8d7f4 100644 (file)
@@ -1164,8 +1164,8 @@ static bool ipa_endpoint_status_skip(struct ipa_endpoint *endpoint,
                return true;
        if (!status->pkt_len)
                return true;
-       endpoint_id = u32_get_bits(status->endp_dst_idx,
-                                  IPA_STATUS_DST_IDX_FMASK);
+       endpoint_id = u8_get_bits(status->endp_dst_idx,
+                                 IPA_STATUS_DST_IDX_FMASK);
        if (endpoint_id != endpoint->endpoint_id)
                return true;