iwl3945: do not send scan command if channel count zero
authorReinette Chatre <reinette.chatre@intel.com>
Tue, 4 Nov 2008 20:21:35 +0000 (12:21 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 6 Nov 2008 21:37:12 +0000 (16:37 -0500)
Do not send scan command if no channels to scan.

This avoids a Microcode error as reported in:
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1650
http://bugzilla.kernel.org/show_bug.cgi?id=11806
http://marc.info/?l=linux-wireless&m=122437145211886&w=2

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl3945-base.c

index b9eac5551d829ed604659936e701e5c528d2fe58..81dfcb88285753d4cbbc951cb6b95d8a22a49f96 100644 (file)
@@ -6256,6 +6256,11 @@ static void iwl3945_bg_request_scan(struct work_struct *data)
                                              n_probes,
                        (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]);
 
+       if (scan->channel_count == 0) {
+               IWL_DEBUG_SCAN("channel count %d\n", scan->channel_count);
+               goto done;
+       }
+
        cmd.len += le16_to_cpu(scan->tx_cmd.len) +
            scan->channel_count * sizeof(struct iwl3945_scan_channel);
        cmd.data = scan;