summaryrefslogtreecommitdiff
path: root/drivers/net/ipa/ipa.h
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2022-11-03 01:11:38 +0300
committerDavid S. Miller <davem@davemloft.net>2022-11-04 13:16:53 +0300
commitae5108e9b7fa255e67323b70e37264a5ec7f1a62 (patch)
treed6b3884e05d61fb536edb6199825f20280b1343a /drivers/net/ipa/ipa.h
parent0f97fbd478587a4ac2d53a88e5a9aefd6632a251 (diff)
downloadlinux-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.h4
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;