From 97e323626c3097184a283f54333d7df18c03ef06 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 16 Mar 2022 15:52:27 +0100 Subject: [PATCH] Revert "ANDROID: fix up rndis ABI breakage" This reverts commit fc94364a702383632d644bc04630d36fff67cabe. It is no longer needed as we can modify the KABI at this point in time. Signed-off-by: Greg Kroah-Hartman Change-Id: Icb196c5ca88a1bb2dca12e132f012be16b2be11e --- drivers/usb/gadget/function/rndis.c | 17 ++++++++--------- drivers/usb/gadget/function/rndis.h | 1 + 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/usb/gadget/function/rndis.c b/drivers/usb/gadget/function/rndis.c index 6cf2ae508205..0f14c5291af0 100644 --- a/drivers/usb/gadget/function/rndis.c +++ b/drivers/usb/gadget/function/rndis.c @@ -63,8 +63,6 @@ MODULE_PARM_DESC (rndis_debug, "enable debugging"); static DEFINE_IDA(rndis_ida); -static DEFINE_SPINLOCK(resp_lock); - /* Driver Version */ static const __le32 rndis_driver_version = cpu_to_le32(1); @@ -924,6 +922,7 @@ struct rndis_params *rndis_register(void (*resp_avail)(void *v), void *v) params->resp_avail = resp_avail; params->v = v; INIT_LIST_HEAD(¶ms->resp_queue); + spin_lock_init(¶ms->resp_lock); pr_debug("%s: configNr = %d\n", __func__, i); return params; @@ -1017,14 +1016,14 @@ void rndis_free_response(struct rndis_params *params, u8 *buf) { rndis_resp_t *r, *n; - spin_lock(&resp_lock); + spin_lock(¶ms->resp_lock); list_for_each_entry_safe(r, n, ¶ms->resp_queue, list) { if (r->buf == buf) { list_del(&r->list); kfree(r); } } - spin_unlock(&resp_lock); + spin_unlock(¶ms->resp_lock); } EXPORT_SYMBOL_GPL(rndis_free_response); @@ -1034,17 +1033,17 @@ u8 *rndis_get_next_response(struct rndis_params *params, u32 *length) if (!length) return NULL; - spin_lock(&resp_lock); + spin_lock(¶ms->resp_lock); list_for_each_entry_safe(r, n, ¶ms->resp_queue, list) { if (!r->send) { r->send = 1; *length = r->length; - spin_unlock(&resp_lock); + spin_unlock(¶ms->resp_lock); return r->buf; } } - spin_unlock(&resp_lock); + spin_unlock(¶ms->resp_lock); return NULL; } EXPORT_SYMBOL_GPL(rndis_get_next_response); @@ -1061,9 +1060,9 @@ static rndis_resp_t *rndis_add_response(struct rndis_params *params, u32 length) r->length = length; r->send = 0; - spin_lock(&resp_lock); + spin_lock(¶ms->resp_lock); list_add_tail(&r->list, ¶ms->resp_queue); - spin_unlock(&resp_lock); + spin_unlock(¶ms->resp_lock); return r; } diff --git a/drivers/usb/gadget/function/rndis.h b/drivers/usb/gadget/function/rndis.h index f6167f7fea82..6206b8b7490f 100644 --- a/drivers/usb/gadget/function/rndis.h +++ b/drivers/usb/gadget/function/rndis.h @@ -174,6 +174,7 @@ typedef struct rndis_params { void (*resp_avail)(void *v); void *v; struct list_head resp_queue; + spinlock_t resp_lock; } rndis_params; /* RNDIS Message parser and other useless functions */