From 25cd57322c2f8cc9e5263b411f1e1cc4d601a96d Mon Sep 17 00:00:00 2001 From: Juuso Oikarinen Date: Tue, 13 Oct 2009 12:47:57 +0300 Subject: [PATCH] --- yaml --- r: 170980 b: refs/heads/master c: ed317788b925cfd896506ee775acca7392470b9b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/wl12xx/wl1271_boot.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 7e1d87331e19..dd7a995c7872 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a163acce485a9629418659ff74737b89ba2c1751 +refs/heads/master: ed317788b925cfd896506ee775acca7392470b9b diff --git a/trunk/drivers/net/wireless/wl12xx/wl1271_boot.c b/trunk/drivers/net/wireless/wl12xx/wl1271_boot.c index b8a37a84842f..41a3050afae1 100644 --- a/trunk/drivers/net/wireless/wl12xx/wl1271_boot.c +++ b/trunk/drivers/net/wireless/wl12xx/wl1271_boot.c @@ -134,7 +134,7 @@ static int wl1271_boot_upload_firmware_chunk(struct wl1271 *wl, void *buf, } chunk = kmalloc(CHUNK_SIZE, GFP_KERNEL); - if (!buf) { + if (!chunk) { wl1271_error("allocation for firmware upload chunk failed"); return -ENOMEM; } @@ -184,6 +184,7 @@ static int wl1271_boot_upload_firmware_chunk(struct wl1271 *wl, void *buf, static int wl1271_boot_upload_firmware(struct wl1271 *wl) { u32 chunks, addr, len; + int ret = 0; u8 *fw; fw = wl->fw; @@ -204,11 +205,13 @@ static int wl1271_boot_upload_firmware(struct wl1271 *wl) } wl1271_debug(DEBUG_BOOT, "chunk %d addr 0x%x len %u", chunks, addr, len); - wl1271_boot_upload_firmware_chunk(wl, fw, len, addr); + ret = wl1271_boot_upload_firmware_chunk(wl, fw, len, addr); + if (ret != 0) + break; fw += len; } - return 0; + return ret; } static int wl1271_boot_upload_nvs(struct wl1271 *wl) @@ -284,6 +287,8 @@ static int wl1271_boot_upload_nvs(struct wl1271 *wl) /* Copy the NVS tables to a new block to ensure alignment */ nvs_aligned = kmemdup(nvs_ptr, nvs_len, GFP_KERNEL); + if (!nvs_aligned) + return -ENOMEM; /* And finally we upload the NVS tables */ /* FIXME: In wl1271, we upload everything at once.