Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 337372
b: refs/heads/master
c: 626e557
h: refs/heads/master
v: v3
  • Loading branch information
YAMANE Toshiaki authored and Greg Kroah-Hartman committed Oct 30, 2012
1 parent f439761 commit 201a9d0
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c9a796d6a6b8bbfaf5bd6f4fd9fb1c8e04bf9534
refs/heads/master: 626e557f3a84f391b8cc5a39ea42c821a1bf67b5
25 changes: 14 additions & 11 deletions trunk/drivers/staging/gdm72xx/sdio_boot.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@ static int download_image(struct sdio_func *func, const char *img_name)

ret = request_firmware(&firm, img_name, &func->dev);
if (ret < 0) {
printk(KERN_ERR
"requesting firmware %s failed with error %d\n",
dev_err(&func->dev,
"requesting firmware %s failed with error %d\n",
img_name, ret);
return ret;
}

buf = kmalloc(DOWNLOAD_SIZE + TYPE_A_HEADER_SIZE, GFP_KERNEL);
if (buf == NULL) {
printk(KERN_ERR "Error: kmalloc\n");
dev_err(&func->dev, "Error: kmalloc\n");
return -ENOMEM;
}

Expand Down Expand Up @@ -101,22 +101,24 @@ static int download_image(struct sdio_func *func, const char *img_name)
memcpy(buf+TYPE_A_HEADER_SIZE, firm->data + pos, len);
ret = sdio_memcpy_toio(func, 0, buf, len + TYPE_A_HEADER_SIZE);
if (ret < 0) {
printk(KERN_ERR "gdmwm: send image error: "
"packet number = %d ret = %d\n", pno, ret);
dev_err(&func->dev,
"send image error: packet number = %d ret = %d\n",
pno, ret);
goto out;
}

if (buf[3] == 2) /* The last packet */
break;
if (!ack_ready(func)) {
ret = -EIO;
printk(KERN_ERR "gdmwm: Ack is not ready.\n");
dev_err(&func->dev, "Ack is not ready.\n");
goto out;
}
ret = sdio_memcpy_fromio(func, buf, 0, TYPE_A_LOOKAHEAD_SIZE);
if (ret < 0) {
printk(KERN_ERR "gdmwm: receive ack error: "
"packet number = %d ret = %d\n", pno, ret);
dev_err(&func->dev,
"receive ack error: packet number = %d ret = %d\n",
pno, ret);
goto out;
}
sdio_writeb(func, 0x01, 0x13, &ret);
Expand All @@ -140,19 +142,20 @@ int sdio_boot(struct sdio_func *func)

tx_buf = kmalloc(YMEM0_SIZE, GFP_KERNEL);
if (tx_buf == NULL) {
printk(KERN_ERR "Error: kmalloc: %s %d\n", __func__, __LINE__);
dev_err(&func->dev, "Error: kmalloc: %s %d\n",
__func__, __LINE__);
return -ENOMEM;
}

ret = download_image(func, krn_name);
if (ret)
goto restore_fs;
printk(KERN_INFO "GCT: Kernel download success.\n");
dev_info(&func->dev, "GCT: Kernel download success.\n");

ret = download_image(func, rfs_name);
if (ret)
goto restore_fs;
printk(KERN_INFO "GCT: Filesystem download success.\n");
dev_info(&func->dev, "GCT: Filesystem download success.\n");

restore_fs:
kfree(tx_buf);
Expand Down

0 comments on commit 201a9d0

Please sign in to comment.