diff options
Diffstat (limited to 'drivers/net/wireless/libertas/cmdresp.c')
-rw-r--r-- | drivers/net/wireless/libertas/cmdresp.c | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c index 5e95da9dcc2e..207fc361db84 100644 --- a/drivers/net/wireless/libertas/cmdresp.c +++ b/drivers/net/wireless/libertas/cmdresp.c | |||
@@ -1,7 +1,8 @@ | |||
1 | /** | 1 | /* |
2 | * This file contains the handling of command | 2 | * This file contains the handling of command |
3 | * responses as well as events generated by firmware. | 3 | * responses as well as events generated by firmware. |
4 | */ | 4 | */ |
5 | |||
5 | #include <linux/slab.h> | 6 | #include <linux/slab.h> |
6 | #include <linux/delay.h> | 7 | #include <linux/delay.h> |
7 | #include <linux/sched.h> | 8 | #include <linux/sched.h> |
@@ -12,12 +13,13 @@ | |||
12 | #include "cmd.h" | 13 | #include "cmd.h" |
13 | 14 | ||
14 | /** | 15 | /** |
15 | * @brief This function handles disconnect event. it | 16 | * lbs_mac_event_disconnected - handles disconnect event. It |
16 | * reports disconnect to upper layer, clean tx/rx packets, | 17 | * reports disconnect to upper layer, clean tx/rx packets, |
17 | * reset link state etc. | 18 | * reset link state etc. |
19 | * | ||
20 | * @priv: A pointer to struct lbs_private structure | ||
18 | * | 21 | * |
19 | * @param priv A pointer to struct lbs_private structure | 22 | * returns: n/a |
20 | * @return n/a | ||
21 | */ | 23 | */ |
22 | void lbs_mac_event_disconnected(struct lbs_private *priv) | 24 | void lbs_mac_event_disconnected(struct lbs_private *priv) |
23 | { | 25 | { |
@@ -84,15 +86,18 @@ int lbs_process_command_response(struct lbs_private *priv, u8 *data, u32 len) | |||
84 | lbs_deb_hex(LBS_DEB_CMD, "CMD_RESP", (void *) resp, len); | 86 | lbs_deb_hex(LBS_DEB_CMD, "CMD_RESP", (void *) resp, len); |
85 | 87 | ||
86 | if (resp->seqnum != priv->cur_cmd->cmdbuf->seqnum) { | 88 | if (resp->seqnum != priv->cur_cmd->cmdbuf->seqnum) { |
87 | lbs_pr_info("Received CMD_RESP with invalid sequence %d (expected %d)\n", | 89 | netdev_info(priv->dev, |
88 | le16_to_cpu(resp->seqnum), le16_to_cpu(priv->cur_cmd->cmdbuf->seqnum)); | 90 | "Received CMD_RESP with invalid sequence %d (expected %d)\n", |
91 | le16_to_cpu(resp->seqnum), | ||
92 | le16_to_cpu(priv->cur_cmd->cmdbuf->seqnum)); | ||
89 | spin_unlock_irqrestore(&priv->driver_lock, flags); | 93 | spin_unlock_irqrestore(&priv->driver_lock, flags); |
90 | ret = -1; | 94 | ret = -1; |
91 | goto done; | 95 | goto done; |
92 | } | 96 | } |
93 | if (respcmd != CMD_RET(curcmd) && | 97 | if (respcmd != CMD_RET(curcmd) && |
94 | respcmd != CMD_RET_802_11_ASSOCIATE && curcmd != CMD_802_11_ASSOCIATE) { | 98 | respcmd != CMD_RET_802_11_ASSOCIATE && curcmd != CMD_802_11_ASSOCIATE) { |
95 | lbs_pr_info("Invalid CMD_RESP %x to command %x!\n", respcmd, curcmd); | 99 | netdev_info(priv->dev, "Invalid CMD_RESP %x to command %x!\n", |
100 | respcmd, curcmd); | ||
96 | spin_unlock_irqrestore(&priv->driver_lock, flags); | 101 | spin_unlock_irqrestore(&priv->driver_lock, flags); |
97 | ret = -1; | 102 | ret = -1; |
98 | goto done; | 103 | goto done; |
@@ -101,7 +106,8 @@ int lbs_process_command_response(struct lbs_private *priv, u8 *data, u32 len) | |||
101 | if (resp->result == cpu_to_le16(0x0004)) { | 106 | if (resp->result == cpu_to_le16(0x0004)) { |
102 | /* 0x0004 means -EAGAIN. Drop the response, let it time out | 107 | /* 0x0004 means -EAGAIN. Drop the response, let it time out |
103 | and be resubmitted */ | 108 | and be resubmitted */ |
104 | lbs_pr_info("Firmware returns DEFER to command %x. Will let it time out...\n", | 109 | netdev_info(priv->dev, |
110 | "Firmware returns DEFER to command %x. Will let it time out...\n", | ||
105 | le16_to_cpu(resp->command)); | 111 | le16_to_cpu(resp->command)); |
106 | spin_unlock_irqrestore(&priv->driver_lock, flags); | 112 | spin_unlock_irqrestore(&priv->driver_lock, flags); |
107 | ret = -1; | 113 | ret = -1; |
@@ -313,28 +319,28 @@ int lbs_process_event(struct lbs_private *priv, u32 event) | |||
313 | lbs_deb_cmd("EVENT: ADHOC beacon lost\n"); | 319 | lbs_deb_cmd("EVENT: ADHOC beacon lost\n"); |
314 | break; | 320 | break; |
315 | case MACREG_INT_CODE_RSSI_LOW: | 321 | case MACREG_INT_CODE_RSSI_LOW: |
316 | lbs_pr_alert("EVENT: rssi low\n"); | 322 | netdev_alert(priv->dev, "EVENT: rssi low\n"); |
317 | break; | 323 | break; |
318 | case MACREG_INT_CODE_SNR_LOW: | 324 | case MACREG_INT_CODE_SNR_LOW: |
319 | lbs_pr_alert("EVENT: snr low\n"); | 325 | netdev_alert(priv->dev, "EVENT: snr low\n"); |
320 | break; | 326 | break; |
321 | case MACREG_INT_CODE_MAX_FAIL: | 327 | case MACREG_INT_CODE_MAX_FAIL: |
322 | lbs_pr_alert("EVENT: max fail\n"); | 328 | netdev_alert(priv->dev, "EVENT: max fail\n"); |
323 | break; | 329 | break; |
324 | case MACREG_INT_CODE_RSSI_HIGH: | 330 | case MACREG_INT_CODE_RSSI_HIGH: |
325 | lbs_pr_alert("EVENT: rssi high\n"); | 331 | netdev_alert(priv->dev, "EVENT: rssi high\n"); |
326 | break; | 332 | break; |
327 | case MACREG_INT_CODE_SNR_HIGH: | 333 | case MACREG_INT_CODE_SNR_HIGH: |
328 | lbs_pr_alert("EVENT: snr high\n"); | 334 | netdev_alert(priv->dev, "EVENT: snr high\n"); |
329 | break; | 335 | break; |
330 | 336 | ||
331 | case MACREG_INT_CODE_MESH_AUTO_STARTED: | 337 | case MACREG_INT_CODE_MESH_AUTO_STARTED: |
332 | /* Ignore spurious autostart events */ | 338 | /* Ignore spurious autostart events */ |
333 | lbs_pr_info("EVENT: MESH_AUTO_STARTED (ignoring)\n"); | 339 | netdev_info(priv->dev, "EVENT: MESH_AUTO_STARTED (ignoring)\n"); |
334 | break; | 340 | break; |
335 | 341 | ||
336 | default: | 342 | default: |
337 | lbs_pr_alert("EVENT: unknown event id %d\n", event); | 343 | netdev_alert(priv->dev, "EVENT: unknown event id %d\n", event); |
338 | break; | 344 | break; |
339 | } | 345 | } |
340 | 346 | ||