[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1210832364-20012-1-git-send-email-cooloney@kernel.org>
Date: Thu, 15 May 2008 14:19:24 +0800
From: Bryan Wu <cooloney@...nel.org>
To: harvey.harrison@...il.com, david-b@...bell.net, greg@...ah.com
Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
Bryan Wu <cooloney@...nel.org>,
Jie Zhang <jie.zhang@...log.com>
Subject: [PATCH 1/1] [usb/host]: use get/put_unaligned_* helpers to fix more potential unaligned issues.
Cc: Harvey Harrison <harvey.harrison@...il.com>
Signed-off-by: Jie Zhang <jie.zhang@...log.com>
Signed-off-by: Bryan Wu <cooloney@...nel.org>
---
drivers/usb/host/isp116x-hcd.c | 4 ++--
drivers/usb/host/uhci-hub.c | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
index 20b9a0d..97ac6ff 100644
--- a/drivers/usb/host/isp116x-hcd.c
+++ b/drivers/usb/host/isp116x-hcd.c
@@ -1024,7 +1024,7 @@ static int isp116x_hub_control(struct usb_hcd *hcd,
break;
case GetHubStatus:
DBG("GetHubStatus\n");
- *(__le32 *) buf = 0;
+ put_unaligned_le32(0, buf);
break;
case GetPortStatus:
DBG("GetPortStatus\n");
@@ -1033,7 +1033,7 @@ static int isp116x_hub_control(struct usb_hcd *hcd,
spin_lock_irqsave(&isp116x->lock, flags);
tmp = isp116x_read_reg32(isp116x, (--wIndex) ? HCRHPORT2 : HCRHPORT1);
spin_unlock_irqrestore(&isp116x->lock, flags);
- *(__le32 *) buf = cpu_to_le32(tmp);
+ put_unaligned_le32(tmp, buf);
DBG("GetPortStatus: port[%d] %08x\n", wIndex + 1, tmp);
break;
case ClearPortFeature:
diff --git a/drivers/usb/host/uhci-hub.c b/drivers/usb/host/uhci-hub.c
index 8e4427a..801fa99 100644
--- a/drivers/usb/host/uhci-hub.c
+++ b/drivers/usb/host/uhci-hub.c
@@ -253,7 +253,7 @@ static int uhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
switch (typeReq) {
case GetHubStatus:
- *(__le32 *)buf = cpu_to_le32(0);
+ put_unaligned_le32(0, buf);
OK(4); /* hub power */
case GetPortStatus:
if (port >= uhci->rh_numports)
@@ -306,8 +306,8 @@ static int uhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
dev_dbg(uhci_dev(uhci), "port %d portsc %04x,%02x\n",
wIndex, status, lstatus);
- *(__le16 *)buf = cpu_to_le16(wPortStatus);
- *(__le16 *)(buf + 2) = cpu_to_le16(wPortChange);
+ put_unaligned_le16(wPortStatus, buf);
+ put_unaligned_le16(wPortChange, buf + 2);
OK(4);
case SetHubFeature: /* We don't implement these */
case ClearHubFeature:
--
1.5.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists