|
@@ -9,6 +9,7 @@
|
|
|
* published by the Free Software Foundation.
|
|
|
*/
|
|
|
|
|
|
+#include <linux/kernel.h>
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/interrupt.h>
|
|
|
#include <linux/platform_device.h>
|
|
@@ -489,7 +490,7 @@ static int handle_data_pio(struct pxa3xx_nand_info *info)
|
|
|
switch (info->state) {
|
|
|
case STATE_PIO_WRITING:
|
|
|
__raw_writesl(info->mmio_base + NDDB, info->data_buff,
|
|
|
- info->data_size << 2);
|
|
|
+ DIV_ROUND_UP(info->data_size, 4));
|
|
|
|
|
|
enable_int(info, NDSR_CS0_BBD | NDSR_CS0_CMDD);
|
|
|
|
|
@@ -501,7 +502,7 @@ static int handle_data_pio(struct pxa3xx_nand_info *info)
|
|
|
break;
|
|
|
case STATE_PIO_READING:
|
|
|
__raw_readsl(info->mmio_base + NDDB, info->data_buff,
|
|
|
- info->data_size << 2);
|
|
|
+ DIV_ROUND_UP(info->data_size, 4));
|
|
|
break;
|
|
|
default:
|
|
|
printk(KERN_ERR "%s: invalid state %d\n", __func__,
|