]> git.baikalelectronics.ru Git - kernel.git/commit
USB: emi62: fix crash when trying to load EMI 6|2 firmware
authorClemens Ladisch <clemens@ladisch.de>
Mon, 21 Dec 2009 23:36:44 +0000 (15:36 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Dec 2009 19:34:11 +0000 (11:34 -0800)
commita90648e7f1950494b0abc6db7b223fa380e35673
tree9119d4de2abbb3796b278e2e21d8c1eebcddae31
parent18adca1e451d79a5e16e55c50e65bd61ec99b7eb
USB: emi62: fix crash when trying to load EMI 6|2 firmware

While converting emi62 to use request_firmware(), the driver was also
changed to use the ihex helper functions.  However, this broke the loading
of the FPGA firmware because the code tries to access the addr field of
the EOF record which works with a plain array that has an empty last
record but not with the ihex helper functions where the end of the data is
signaled with a NULL record pointer, resulting in:

BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<f80d248c>] emi62_load_firmware+0x33c/0x740 [emi62]

This can be fixed by changing the loop condition to test the return value
of ihex_next_binrec() directly (like in emi26.c).

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Reported-and-tested-by: Der Mickster <retroeffective@gmail.com>
Acked-by: David Woodhouse <David.Woodhouse@intel.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/misc/emi62.c