diff options
author | Alex Elder <elder@linaro.org> | 2022-11-03 01:11:38 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-11-04 13:16:53 +0300 |
commit | ae5108e9b7fa255e67323b70e37264a5ec7f1a62 (patch) | |
tree | d6b3884e05d61fb536edb6199825f20280b1343a /drivers/net/ipa/ipa.h | |
parent | 0f97fbd478587a4ac2d53a88e5a9aefd6632a251 (diff) | |
download | linux-ae5108e9b7fa255e67323b70e37264a5ec7f1a62.tar.xz |
net: ipa: use a bitmap for set-up endpoints
Replace the 32-bit unsigned used to track endpoints that have
completed setup with a Linux bitmap, to allow an arbitrary number
of endpoints to be represented.
Rework the error handling in ipa_endpoint_init() so the defined
endpoint bitmap is freed if an error occurs early. Once endpoints
have been initialized, ipa_endpoint_exit() is used to recover if
the set of filtered endpoints is invalid.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ipa/ipa.h')
-rw-r--r-- | drivers/net/ipa/ipa.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ipa/ipa.h b/drivers/net/ipa/ipa.h index 557101c2d583..f14d1bd34e7e 100644 --- a/drivers/net/ipa/ipa.h +++ b/drivers/net/ipa/ipa.h @@ -66,7 +66,7 @@ struct ipa_interrupt; * @defined: Bitmap of endpoints defined in config data * @available: Bitmap of endpoints supported by hardware * @filtered: Bitmap of endpoints that support filtering - * @set_up: Bit mask indicating endpoints set up + * @set_up: Bitmap of endpoints that are set up for use * @enabled: Bit mask indicating endpoints enabled * @modem_tx_count: Number of defined modem TX endoints * @endpoint: Array of endpoint information @@ -124,7 +124,7 @@ struct ipa { unsigned long *defined; /* Defined in configuration data */ unsigned long *available; /* Supported by hardware */ u64 filtered; /* Support filtering (AP and modem) */ - u32 set_up; + unsigned long *set_up; u32 enabled; u32 modem_tx_count; |