Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 66498
b: refs/heads/master
c: 63f0023
h: refs/heads/master
v: v3
  • Loading branch information
Luis Carlos Cobo authored and David S. Miller committed Oct 10, 2007
1 parent acb7287 commit df2ae25
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2afc0c5d71a3dec6d35f3a234ed986d635ef41ad
refs/heads/master: 63f0023bc34073bea8452a4770540c954f98208f
15 changes: 15 additions & 0 deletions trunk/drivers/net/wireless/libertas/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -901,6 +901,17 @@ static int wlan_cmd_mesh_access(wlan_private * priv,
return 0;
}

static int wlan_cmd_set_boot2_ver(wlan_private * priv,
struct cmd_ds_command *cmd,
u16 cmd_action, void *pdata_buf)
{
struct cmd_ds_set_boot2_ver *boot2_ver = &cmd->params.boot2_ver;
cmd->command = cpu_to_le16(CMD_SET_BOOT2_VER);
cmd->size = cpu_to_le16(sizeof(struct cmd_ds_set_boot2_ver) + S_DS_GEN);
boot2_ver->version = priv->boot2_version;
return 0;
}

void libertas_queue_cmd(wlan_adapter * adapter, struct cmd_ctrl_node *cmdnode, u8 addtail)
{
unsigned long flags;
Expand Down Expand Up @@ -1372,6 +1383,10 @@ int libertas_prepare_and_send_command(wlan_private * priv,
ret = wlan_cmd_mesh_access(priv, cmdptr, cmd_action, pdata_buf);
break;

case CMD_SET_BOOT2_VER:
ret = wlan_cmd_set_boot2_ver(priv, cmdptr, cmd_action, pdata_buf);
break;

case CMD_GET_TSF:
cmdptr->command = cpu_to_le16(CMD_GET_TSF);
cmdptr->size = cpu_to_le16(sizeof(struct cmd_ds_get_tsf) +
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/wireless/libertas/dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ struct _wlan_private {
int mesh_open;
int infra_open;
int mesh_autostart_enabled;
__le16 boot2_version;

char name[DEV_NAME_LEN];

Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/net/wireless/libertas/host.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@

#define CMD_MESH_ACCESS 0x009b

#define CMD_SET_BOOT2_VER 0x00a5

/* For the IEEE Power Save */
#define CMD_SUBCMD_ENTER_PS 0x0030
#define CMD_SUBCMD_EXIT_PS 0x0031
Expand Down
6 changes: 6 additions & 0 deletions trunk/drivers/net/wireless/libertas/hostcmd.h
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,11 @@ struct cmd_ds_802_11_monitor_mode {
u16 mode;
};

struct cmd_ds_set_boot2_ver {
u16 action;
u16 version;
};

struct cmd_ds_802_11_ps_mode {
__le16 action;
__le16 nullpktinterval;
Expand Down Expand Up @@ -660,6 +665,7 @@ struct cmd_ds_command {
struct cmd_ds_bt_access bt;
struct cmd_ds_fwt_access fwt;
struct cmd_ds_mesh_access mesh;
struct cmd_ds_set_boot2_ver boot2_ver;
struct cmd_ds_get_tsf gettsf;
struct cmd_ds_802_11_subscribe_event subscribe_event;
} params;
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/wireless/libertas/if_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ static int if_usb_probe(struct usb_interface *intf,
priv->hw_host_to_card = if_usb_host_to_card;
priv->hw_get_int_status = if_usb_get_int_status;
priv->hw_read_event_cause = if_usb_read_event_cause;
priv->boot2_version = udev->descriptor.bcdDevice;

if (libertas_activate_card(priv))
goto err_activate_card;
Expand Down
4 changes: 4 additions & 0 deletions trunk/drivers/net/wireless/libertas/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -981,6 +981,10 @@ static int wlan_setup_station_hw(wlan_private * priv)
priv->mesh_autostart_enabled = 0;
}

/* Set the boot2 version in firmware */
ret = libertas_prepare_and_send_command(priv, CMD_SET_BOOT2_VER,
0, CMD_OPTION_WAITFORRSP, 0, NULL);

ret = 0;
done:
lbs_deb_leave_args(LBS_DEB_FW, "ret %d", ret);
Expand Down

0 comments on commit df2ae25

Please sign in to comment.