git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
drivers
/
scsi
/
arm
/
eesox.c
diff --git
a/drivers/scsi/arm/eesox.c
b/drivers/scsi/arm/eesox.c
index
530b59c
..
5f037d2
100644
(file)
--- a/
drivers/scsi/arm/eesox.c
+++ b/
drivers/scsi/arm/eesox.c
@@
-231,7
+231,8
@@
static void eesoxscsi_buffer_in(void *buf, int length, void *base)
* Align buffer.
*/
if (((u32)buf) & 2 && status >= 2) {
* Align buffer.
*/
if (((u32)buf) & 2 && status >= 2) {
- *((u16 *)buf)++ = readl(reg_dmadata);
+ *(u16 *)buf = readl(reg_dmadata);
+ buf += 2;
status -= 2;
length -= 2;
}
status -= 2;
length -= 2;
}
@@
-243,8
+244,10
@@
static void eesoxscsi_buffer_in(void *buf, int length, void *base)
l1 |= readl(reg_dmadata) << 16;
l2 = readl(reg_dmadata) & mask;
l2 |= readl(reg_dmadata) << 16;
l1 |= readl(reg_dmadata) << 16;
l2 = readl(reg_dmadata) & mask;
l2 |= readl(reg_dmadata) << 16;
- *((u32 *)buf)++ = l1;
- *((u32 *)buf)++ = l2;
+ *(u32 *)buf = l1;
+ buf += 4;
+ *(u32 *)buf = l2;
+ buf += 4;
length -= 8;
continue;
}
length -= 8;
continue;
}
@@
-255,13
+258,15
@@
static void eesoxscsi_buffer_in(void *buf, int length, void *base)
l1 = readl(reg_dmadata) & mask;
l1 |= readl(reg_dmadata) << 16;
l1 = readl(reg_dmadata) & mask;
l1 |= readl(reg_dmadata) << 16;
- *((u32 *)buf)++ = l1;
+ *(u32 *)buf = l1;
+ buf += 4;
length -= 4;
continue;
}
if (status >= 2) {
length -= 4;
continue;
}
if (status >= 2) {
- *((u16 *)buf)++ = readl(reg_dmadata);
+ *(u16 *)buf = readl(reg_dmadata);
+ buf += 2;
length -= 2;
}
} while (length);
length -= 2;
}
} while (length);
@@
-305,7
+310,8
@@
static void eesoxscsi_buffer_out(void *buf, int length, void *base)
* Align buffer.
*/
if (((u32)buf) & 2 && status >= 2) {
* Align buffer.
*/
if (((u32)buf) & 2 && status >= 2) {
- writel(*((u16 *)buf)++ << 16, reg_dmadata);
+ writel(*(u16 *)buf << 16, reg_dmadata);
+ buf += 2;
status -= 2;
length -= 2;
}
status -= 2;
length -= 2;
}
@@
-313,8
+319,10
@@
static void eesoxscsi_buffer_out(void *buf, int length, void *base)
if (status >= 8) {
unsigned long l1, l2;
if (status >= 8) {
unsigned long l1, l2;
- l1 = *((u32 *)buf)++;
- l2 = *((u32 *)buf)++;
+ l1 = *(u32 *)buf;
+ buf += 4;
+ l2 = *(u32 *)buf;
+ buf += 4;
writel(l1 << 16, reg_dmadata);
writel(l1, reg_dmadata);
writel(l1 << 16, reg_dmadata);
writel(l1, reg_dmadata);
@@
-327,7
+335,8
@@
static void eesoxscsi_buffer_out(void *buf, int length, void *base)
if (status >= 4) {
unsigned long l1;
if (status >= 4) {
unsigned long l1;
- l1 = *((u32 *)buf)++;
+ l1 = *(u32 *)buf;
+ buf += 4;
writel(l1 << 16, reg_dmadata);
writel(l1, reg_dmadata);
writel(l1 << 16, reg_dmadata);
writel(l1, reg_dmadata);
@@
-336,7
+345,8
@@
static void eesoxscsi_buffer_out(void *buf, int length, void *base)
}
if (status >= 2) {
}
if (status >= 2) {
- writel(*((u16 *)buf)++ << 16, reg_dmadata);
+ writel(*(u16 *)buf << 16, reg_dmadata);
+ buf += 2;
length -= 2;
}
} while (length);
length -= 2;
}
} while (length);