linux/drivers/net/wireless/iwlwifi
Jay Sternberg 2facba769d iwlwifi: incorrect method used for finding valid OTP blocks
The address stored in the next link address is a word address but when
reading the OTP blocks, a byte address is used. Also if the blocks are
full and the last link pointer is not zero, then none of the blocks are
valid so return an error.

The algorithm is simply valid blocks have a next address and that
address's contents is zero.

Using the wrong address for the next link address gets arbitrary data,
obviously. In cases seen, the first block is considered valid when it is not.

If the block has in fact been invalidated there may be old data or
there may be no data, bad data, or partial data, there is no way of
telling. Without this patch it is possible that a device with valid OTP data
is unable to work.

Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
CC: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-10-07 16:33:49 -04:00
..
Kconfig iwlwifi: fix LED config option 2009-07-27 15:24:27 -04:00
Makefile iwlwifi: port to cfg80211 rfkill 2009-06-10 13:27:49 -04:00
iwl-1000.c iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-3945-fh.h iwlwifi: update copyright year to 2009 2009-01-29 16:00:15 -05:00
iwl-3945-hw.h iwlwifi: name changed from "fat" to "ht40" 2009-08-14 09:13:46 -04:00
iwl-3945-led.c iwlwifi: remove command callback return value 2009-07-27 15:24:22 -04:00
iwl-3945-led.h iwl3945: use iwl_led structure 2009-03-16 18:09:46 -04:00
iwl-3945-rs.c mac80211: add helper for management / no-ack frame rate decision 2009-07-24 15:05:16 -04:00
iwl-3945.c iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-3945.h iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-4965-hw.h iwlwifi: name changed from "fat" to "ht40" 2009-08-14 09:13:46 -04:00
iwl-4965.c iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-5000-hw.h iwlwifi: Temperature sensor voltage reading for 5150 2009-05-22 14:06:03 -04:00
iwl-5000.c iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-6000-hw.h iwlwifi: add recognition of Intel WiFi Link 6000 and 6050 Series 2009-01-29 16:01:02 -05:00
iwl-6000.c iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-agn-rs.c iwlwifi: find the correct first antenna 2009-09-23 11:35:40 -04:00
iwl-agn-rs.h iwlwifi: remove 60 Mbps from sband bitrates table 2009-08-31 14:42:09 -04:00
iwl-agn.c iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-calib.c iwlwifi: automatically adjust sleep level 2009-08-14 09:13:50 -04:00
iwl-calib.h iwlwifi: update copyright year to 2009 2009-01-29 16:00:15 -05:00
iwl-commands.h iwlwifi: remove duplicated define 2009-08-28 14:40:38 -04:00
iwl-core.c iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-core.h iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-csr.h iwlwifi: Distinguish power amplifier for 6000 series 2009-08-04 16:44:22 -04:00
iwl-debug.h iwlwifi: show current tx power 2009-08-28 14:40:37 -04:00
iwl-debugfs.c iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00
iwl-dev.h iwlwifi: fix ICT irq table endianness 2009-08-28 14:40:53 -04:00
iwl-eeprom.c iwlwifi: incorrect method used for finding valid OTP blocks 2009-10-07 16:33:49 -04:00
iwl-eeprom.h iwlwifi: read enhanced tx power info from EEPROM image 2009-08-28 14:40:39 -04:00
iwl-fh.h iwlwifi: update copyright year to 2009 2009-01-29 16:00:15 -05:00
iwl-hcmd.c iwlwifi: Traffic type and counter for debugFs 2009-08-14 09:13:47 -04:00
iwl-helpers.h iwlwifi: change iwl_enable/disable_interrupts to "inline" 2009-07-24 15:05:26 -04:00
iwl-io.h iwlcore: register locks 2009-05-22 14:06:04 -04:00
iwl-led.c iwlwifi: Traffic type and counter for debugFs 2009-08-14 09:13:47 -04:00
iwl-led.h iwl3945: use iwl_led structure 2009-03-16 18:09:46 -04:00
iwl-power.c iwlwifi: disable powersave for 4965 2009-09-23 11:35:40 -04:00
iwl-power.h iwlwifi: automatically adjust sleep level 2009-08-14 09:13:50 -04:00
iwl-prph.h iwlagn: modify digital SVR for 1000 2009-07-24 15:05:23 -04:00
iwl-rx.c iwlwifi: reduce noise when skb allocation fails 2009-09-23 11:35:53 -04:00
iwl-scan.c iwlwifi: fix unloading driver while scanning 2009-08-28 14:40:39 -04:00
iwl-spectrum.c iwlwifi: don't use implicit priv in IWL_DEBUG 2009-02-09 15:03:34 -05:00
iwl-spectrum.h iwlwifi: update copyright year to 2009 2009-01-29 16:00:15 -05:00
iwl-sta.c iwlwifi: do not send sync command while holding spinlock 2009-09-23 11:35:53 -04:00
iwl-sta.h iwlwifi: unify station management 2009-06-04 10:56:20 -04:00
iwl-tx.c iwlwifi: fix memory leak in command queue handling 2009-09-28 16:55:04 -04:00
iwl3945-base.c iwlwifi: fix 3945 ucode info retrieval after failure 2009-09-28 16:55:05 -04:00