projects
/
GitHub
/
exynos8895
/
android_kernel_samsung_universal8895.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge 4.4.91 into android-4.4
[GitHub/exynos8895/android_kernel_samsung_universal8895.git]
/
drivers
/
mmc
/
core
/
sdio_bus.c
diff --git
a/drivers/mmc/core/sdio_bus.c
b/drivers/mmc/core/sdio_bus.c
index e32ed3d28b067e79516e0e51dc64d2247fd5604f..60984899b1354eeb75c3e9617b9dfedcb091cd39 100644
(file)
--- a/
drivers/mmc/core/sdio_bus.c
+++ b/
drivers/mmc/core/sdio_bus.c
@@
-277,7
+277,7
@@
static void sdio_release_func(struct device *dev)
sdio_free_func_cis(func);
kfree(func->info);
sdio_free_func_cis(func);
kfree(func->info);
-
+ kfree(func->tmpbuf);
kfree(func);
}
kfree(func);
}
@@
-292,6
+292,16
@@
struct sdio_func *sdio_alloc_func(struct mmc_card *card)
if (!func)
return ERR_PTR(-ENOMEM);
if (!func)
return ERR_PTR(-ENOMEM);
+ /*
+ * allocate buffer separately to make sure it's properly aligned for
+ * DMA usage (incl. 64 bit DMA)
+ */
+ func->tmpbuf = kmalloc(4, GFP_KERNEL);
+ if (!func->tmpbuf) {
+ kfree(func);
+ return ERR_PTR(-ENOMEM);
+ }
+
func->card = card;
device_initialize(&func->dev);
func->card = card;
device_initialize(&func->dev);