Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d8e9dd0 authored by Bryan O'Sullivan's avatar Bryan O'Sullivan Committed by Linus Torvalds
Browse files

[PATCH] IB/ipath: read/write correct sizes through diag interface



We must increment uaddr by size we are reading or writing, since it's passed
as a char *, not a pointer to the appropriate size.

Signed-off-by: default avatarDave Olson <dave.olson@qlogic.com>
Signed-off-by: default avatarBryan O'Sullivan <bryan.osullivan@qlogic.com>
Cc: "Michael S. Tsirkin" <mst@mellanox.co.il>
Cc: Roland Dreier <rolandd@cisco.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 8307c28e
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ static int ipath_read_umem64(struct ipath_devdata *dd, void __user *uaddr,
			goto bail;
		}
		reg_addr++;
		uaddr++;
		uaddr += sizeof(u64);
	}
	ret = 0;
bail:
@@ -154,7 +154,7 @@ static int ipath_write_umem64(struct ipath_devdata *dd, void __iomem *caddr,
		writeq(data, reg_addr);

		reg_addr++;
		uaddr++;
		uaddr += sizeof(u64);
	}
	ret = 0;
bail:
@@ -192,7 +192,8 @@ static int ipath_read_umem32(struct ipath_devdata *dd, void __user *uaddr,
		}

		reg_addr++;
		uaddr++;
		uaddr += sizeof(u32);

	}
	ret = 0;
bail:
@@ -231,7 +232,7 @@ static int ipath_write_umem32(struct ipath_devdata *dd, void __iomem *caddr,
		writel(data, reg_addr);

		reg_addr++;
		uaddr++;
		uaddr += sizeof(u32);
	}
	ret = 0;
bail: