libertas: add opaque extra argument to cmd callback function
This will be useful for letting callbacks do stuff like copying the
response into a buffer provided by the caller of lbs_cmd()
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c
index ab6e729..7bad257 100644
--- a/drivers/net/wireless/libertas/cmdresp.c
+++ b/drivers/net/wireless/libertas/cmdresp.c
@@ -552,12 +552,13 @@
return 0;
}
-static inline int handle_cmd_response(u16 respcmd,
- struct cmd_ds_command *resp,
- struct lbs_private *priv)
+static inline int handle_cmd_response(struct lbs_private *priv,
+ unsigned long dummy,
+ struct cmd_ds_command *resp)
{
int ret = 0;
unsigned long flags;
+ uint16_t respcmd = le16_to_cpu(resp->command);
lbs_deb_enter(LBS_DEB_HOST);
@@ -861,9 +862,9 @@
spin_unlock_irqrestore(&priv->driver_lock, flags);
if (priv->cur_cmd && priv->cur_cmd->callback)
- ret = priv->cur_cmd->callback(respcmd, resp, priv);
+ ret = priv->cur_cmd->callback(priv, priv->cur_cmd->callback_arg, resp);
else
- ret = handle_cmd_response(respcmd, resp, priv);
+ ret = handle_cmd_response(priv, 0, resp);
spin_lock_irqsave(&priv->driver_lock, flags);