~ubuntu-branches/ubuntu/saucy/linux-ppc/saucy

« back to all changes in this revision

Viewing changes to drivers/net/wireless/mwifiex/cmdevt.c

  • Committer: Package Import Robot
  • Author(s): Ben Collins, Ubuntu: 3.8.0-17.27
  • Date: 2013-04-08 18:16:48 UTC
  • mfrom: (16.1.9 raring)
  • Revision ID: package-import@ubuntu.com-20130408181648-z7suubhgtq6k6zke
Tags: 3.8.0-8.14
[ Ubuntu: 3.8.0-17.27 ]

* SAUCE: (no-up) Bluetooth: Add support for 04ca:2007
  - LP: #1153448
* SAUCE: (no-up) Bluetooth: Add support for 105b:e065
  - LP: #1161261
* SAUCE: (no-up) tools/power turbostat: additional Haswell CPU-id
  - LP: #1083993
* Revert "SAUCE: (no-up) seccomp: forcing auditing of kill condition"
  Replaced by upstream patch.
* Release Tracking Bug
  - LP: #1165746
* rebase to v3.8.6
* Revert "brcmsmac: support 4313iPA"
  - LP: #1157190
* tools/power turbostat: support Haswell
  - LP: #1083993
* net: calxedaxgmac: fix rx ring handling when OOM
* cpufreq: check OF node /cpus presence before dereferencing it
* Input: cypress_ps2 - fix trackpadi found in Dell XPS12
  - LP: #1103594
* ARM: OMAP2+: Limit omap initcalls to omap only on multiplatform kernels
* ARM: OMAP2+: Use omap initcalls
* ARM: OMAP: Fix i2c cmdline initcall for multiplatform
* ARM: OMAP: Fix dmaengine init for multiplatform
* ARM: OMAP2+: Add multiplatform debug_ll support
* ARM: OMAP2+: Disable code that currently does not work with
  multiplaform
* ARM: OMAP2+: Enable ARCH_MULTIPLATFORM support
* ARM: OMAP2+: Add minimal support for booting vexpress
* ARM: OMAP2+: Remove now obsolete uncompress.h and debug-macro.S
* davinci: do not include mach/hardware.h
* clk: export __clk_get_name for re-use in imx-ipu-v3 and others
* [SCSI] storvsc: avoid usage of WRITE_SAME
  - LP: #1157952
* ACPICA: Fix possible memory leak in dispatcher error path.
* KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (CVE-2013-1796)
  - LP: #1158254
  - CVE-2013-1796
* SAUCE: (no-up) Bluetooth: Add a load_firmware callback to struct hci_dev
  - LP: #1065400
* SAUCE: (no-up) Bluetooth: Implement broadcom patchram firmware loader
  - LP: #1065400
* SAUCE: (no-up) Bluetooth: Add support for 13d3:3388 and 13d3:3389
  - LP: #1065400

Show diffs side-by-side

added added

removed removed

Lines of Context:
156
156
                return -1;
157
157
        }
158
158
 
 
159
        cmd_code = le16_to_cpu(host_cmd->command);
 
160
        cmd_size = le16_to_cpu(host_cmd->size);
 
161
 
 
162
        if (adapter->hw_status == MWIFIEX_HW_STATUS_RESET &&
 
163
            cmd_code != HostCmd_CMD_FUNC_SHUTDOWN &&
 
164
            cmd_code != HostCmd_CMD_FUNC_INIT) {
 
165
                dev_err(adapter->dev,
 
166
                        "DNLD_CMD: FW in reset state, ignore cmd %#x\n",
 
167
                        cmd_code);
 
168
                mwifiex_complete_cmd(adapter, cmd_node);
 
169
                mwifiex_insert_cmd_to_free_q(adapter, cmd_node);
 
170
                return -1;
 
171
        }
 
172
 
159
173
        /* Set command sequence number */
160
174
        adapter->seq_num++;
161
175
        host_cmd->seq_num = cpu_to_le16(HostCmd_SET_SEQ_NO_BSS_INFO
167
181
        adapter->curr_cmd = cmd_node;
168
182
        spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, flags);
169
183
 
170
 
        cmd_code = le16_to_cpu(host_cmd->command);
171
 
        cmd_size = le16_to_cpu(host_cmd->size);
172
 
 
173
184
        /* Adjust skb length */
174
185
        if (cmd_node->cmd_skb->len > cmd_size)
175
186
                /*
488
499
 
489
500
        ret = mwifiex_send_cmd_async(priv, cmd_no, cmd_action, cmd_oid,
490
501
                                     data_buf);
491
 
        if (!ret)
492
 
                ret = mwifiex_wait_queue_complete(adapter);
493
502
 
494
503
        return ret;
495
504
}
592
601
        if (cmd_no == HostCmd_CMD_802_11_SCAN) {
593
602
                mwifiex_queue_scan_cmd(priv, cmd_node);
594
603
        } else {
595
 
                adapter->cmd_queued = cmd_node;
596
604
                mwifiex_insert_cmd_to_pending_q(adapter, cmd_node, true);
597
605
                queue_work(adapter->workqueue, &adapter->main_work);
 
606
                if (cmd_node->wait_q_enabled)
 
607
                        ret = mwifiex_wait_queue_complete(adapter, cmd_node);
598
608
        }
599
609
 
600
610
        return ret;