Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 79126
b: refs/heads/master
c: 448a51a
h: refs/heads/master
v: v3
  • Loading branch information
David Woodhouse authored and David S. Miller committed Jan 28, 2008
1 parent f788591 commit 651a6a8
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 36 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ac47246e246c183ed68b3fdb307a83d00313a325
refs/heads/master: 448a51ae0684c146c9f9ba4e178ab2182512258f
30 changes: 4 additions & 26 deletions trunk/drivers/net/wireless/libertas/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1657,7 +1657,6 @@ static void cleanup_cmdnode(struct cmd_ctrl_node *ptempnode)
wake_up_interruptible(&ptempnode->cmdwait_q);
ptempnode->wait_option = 0;
ptempnode->pdata_buf = NULL;
ptempnode->pdata_size = NULL;
ptempnode->callback = NULL;

if (ptempnode->bufvirtualaddr != NULL)
Expand Down Expand Up @@ -1686,7 +1685,6 @@ void lbs_set_cmd_ctrl_node(struct lbs_private *priv,

ptempnode->wait_option = wait_option;
ptempnode->pdata_buf = pdata_buf;
ptempnode->pdata_size = NULL;
ptempnode->callback = NULL;

lbs_deb_leave(LBS_DEB_HOST);
Expand Down Expand Up @@ -2013,25 +2011,8 @@ void lbs_ps_confirm_sleep(struct lbs_private *priv, u16 psmode)
* the result code from the firmware
*/

static int lbs_cmd_callback(uint16_t respcmd, struct cmd_ds_command *resp, struct lbs_private *priv)
{
struct cmd_ds_gen *r = (struct cmd_ds_gen *)resp;
struct lbs_adapter *adapter = priv->adapter;
u16 sz = le16_to_cpu(resp->size) - S_DS_GEN;

if (sz > *adapter->cur_cmd->pdata_size) {
lbs_pr_err("response 0x%04x doesn't fit into buffer (%d > %d)\n",
respcmd, sz, *adapter->cur_cmd->pdata_size);
sz = *adapter->cur_cmd->pdata_size;
}
memcpy(adapter->cur_cmd->pdata_buf, r->cmdresp, sz);
*adapter->cur_cmd->pdata_size = sz;

return 0;
}

int lbs_cmd(struct lbs_private *priv, u16 command, void *cmd, int cmd_size,
void *rsp, int *rsp_size)
int lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size,
int (*callback)(uint16_t, struct cmd_ds_command *, struct lbs_private *))
{
struct lbs_adapter *adapter = priv->adapter;
struct cmd_ctrl_node *cmdnode;
Expand All @@ -2040,9 +2021,8 @@ int lbs_cmd(struct lbs_private *priv, u16 command, void *cmd, int cmd_size,
int ret = 0;

lbs_deb_enter(LBS_DEB_HOST);
lbs_deb_host("rsp at %p, rsp_size at %p\n", rsp, rsp_size);

if (!adapter || !rsp_size) {
if (!adapter) {
lbs_deb_host("PREP_CMD: adapter is NULL\n");
ret = -1;
goto done;
Expand All @@ -2067,9 +2047,7 @@ int lbs_cmd(struct lbs_private *priv, u16 command, void *cmd, int cmd_size,

cmdptr = (struct cmd_ds_gen *)cmdnode->bufvirtualaddr;
cmdnode->wait_option = CMD_OPTION_WAITFORRSP;
cmdnode->pdata_buf = rsp;
cmdnode->pdata_size = rsp_size;
cmdnode->callback = lbs_cmd_callback;
cmdnode->callback = callback;

/* Set sequence number, clean result, move to buffer */
adapter->seqnum++;
Expand Down
6 changes: 2 additions & 4 deletions trunk/drivers/net/wireless/libertas/decl.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,8 @@ void lbs_send_tx_feedback(struct lbs_private *priv);

int lbs_free_cmd_buffer(struct lbs_private *priv);

int lbs_cmd(struct lbs_private *priv,
u16 command,
void *cmd, int cmd_size,
void *resp, int *resp_size);
int lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size,
int (*callback)(uint16_t, struct cmd_ds_command *, struct lbs_private *));

int lbs_prepare_and_send_command(struct lbs_private *priv,
u16 cmd_no,
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/net/wireless/libertas/hostcmd.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ struct cmd_ctrl_node {
u16 wait_option;
/* command response */
void *pdata_buf;
int *pdata_size;
int (*callback)(uint16_t respcmd, struct cmd_ds_command *resp, struct lbs_private *priv);
/* command data */
u8 *bufvirtualaddr;
Expand Down
5 changes: 1 addition & 4 deletions trunk/drivers/net/wireless/libertas/if_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,12 @@ static void if_usb_free(struct usb_card_rec *cardp)
static void if_usb_set_boot2_ver(struct lbs_private *priv)
{
struct cmd_ds_set_boot2_ver b2_cmd;
int rsp_len = sizeof(b2_cmd);

b2_cmd.action = 0;
b2_cmd.version = priv->boot2_version;

if (lbs_cmd(priv, CMD_SET_BOOT2_VER, &b2_cmd, sizeof(b2_cmd),
&b2_cmd, &rsp_len)) {
if (lbs_cmd(priv, CMD_SET_BOOT2_VER, &b2_cmd, sizeof(b2_cmd), NULL))
lbs_deb_usb("Setting boot2 version failed\n");
}
}


Expand Down

0 comments on commit 651a6a8

Please sign in to comment.