1
linux/drivers/base
Luciano Coelho 4adf07fba3 firmware: make sure the fw file size is not 0
If the requested firmware file size is 0 bytes in the filesytem, we
will try to vmalloc(0), which causes a warning:

  vmalloc: allocation failure: 0 bytes
  kworker/1:1: page allocation failure: order:0, mode:0xd2
    __vmalloc_node_range+0x164/0x208
    __vmalloc_node+0x4c/0x58
    vmalloc+0x38/0x44
    _request_firmware_load+0x220/0x6b0
    request_firmware+0x64/0xc8
    wl18xx_setup+0xb4/0x570 [wl18xx]
    wlcore_nvs_cb+0x64/0x9f8 [wlcore]
    request_firmware_work_func+0x94/0x100
    process_one_work+0x1d0/0x750
    worker_thread+0x184/0x4ac
    kthread+0xb4/0xc0

To fix this, check whether the file size is less than or equal to zero
in fw_read_file_contents().

Cc: stable <stable@vger.kernel.org> [3.7]
Signed-off-by: Luciano Coelho <coelho@ti.com>
Acked-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-01-16 09:09:53 -08:00
..
power Merge branch 'pm-sleep' 2013-01-06 00:36:17 +01:00
regmap regmap: debugfs: Make sure we store the last entry in the offset cache 2013-01-08 20:52:51 +00:00
attribute_container.c drivers: base: Convert dev_printk(KERN_<LEVEL> to dev_<level>( 2012-10-30 17:38:43 -07:00
base.h
bus.c driver core: remove CONFIG_HOTPLUG ifdefs 2012-11-28 10:33:03 -08:00
class.c Revert "driver core: check start node in klist_iter_init_node" 2012-04-19 19:17:30 -07:00
core.c Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-12-14 09:59:59 -08:00
cpu.c sched: Remove stale power aware scheduling remnants and dysfunctional knobs 2012-05-17 13:48:56 +02:00
dd.c [SCSI] cleanup usages of scsi_complete_async_scans 2012-07-20 09:25:22 +01:00
devres.c drivers: base: Convert dev_printk(KERN_<LEVEL> to dev_<level>( 2012-10-30 17:38:43 -07:00
devtmpfs.c vfs: turn is_dir argument to kern_path_create into a lookup_flags arg 2012-12-20 18:50:02 -05:00
dma-buf.c dma-buf: might_sleep() in dma_buf_unmap_attachment() 2012-12-20 12:05:05 +05:30
dma-coherent.c drivers: dma-coherent: Fix typo in dma_mmap_from_coherent documentation 2012-10-23 14:05:32 +02:00
dma-contiguous.c drivers: cma: represent physical addresses as phys_addr_t 2012-12-11 09:28:09 +01:00
dma-mapping.c [media] dma-mapping: fix dma_common_get_sgtable() conditional compilation 2012-11-27 09:42:31 -02:00
driver.c driver core: don't trigger uevent after failure 2012-07-17 10:40:23 -07:00
firmware_class.c firmware: make sure the fw file size is not 0 2013-01-16 09:09:53 -08:00
firmware.c
hypervisor.c
init.c
isa.c
Kconfig Merge 3.7-rc3 into driver-core-next 2012-10-29 08:46:28 -07:00
Makefile drivers: add Contiguous Memory Allocator 2012-05-21 15:09:37 +02:00
map.c
memory.c mm, memory-hotplug: dynamic configure movable memory and portion memory 2012-12-11 17:22:28 -08:00
module.c
node.c numa: add CONFIG_MOVABLE_NODE for movable-dedicated node 2012-12-12 17:38:34 -08:00
platform.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
soc.c mode_t whack-a-mole: ->is_visible() returns umode_t... 2012-05-29 23:28:42 -04:00
syscore.c
topology.c
transport_class.c