From patchwork Tue Jun 25 13:54:43 2013
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Piotr Wilczek
X-Patchwork-Id: 254157
X-Patchwork-Delegate: marek.vasut@gmail.com
Return-Path:
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
Received: from theia.denx.de (theia.denx.de [85.214.87.163])
by ozlabs.org (Postfix) with ESMTP id B17732C0084
for ;
Tue, 25 Jun 2013 23:55:53 +1000 (EST)
Received: from localhost (localhost [127.0.0.1])
by theia.denx.de (Postfix) with ESMTP id 551354A02A;
Tue, 25 Jun 2013 15:55:52 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at theia.denx.de
Received: from theia.denx.de ([127.0.0.1])
by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id vpPZoVPb7mI8; Tue, 25 Jun 2013 15:55:52 +0200 (CEST)
Received: from theia.denx.de (localhost [127.0.0.1])
by theia.denx.de (Postfix) with ESMTP id C144D4A021;
Tue, 25 Jun 2013 15:55:46 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
by theia.denx.de (Postfix) with ESMTP id 770694A021
for ; Tue, 25 Jun 2013 15:55:39 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at theia.denx.de
Received: from theia.denx.de ([127.0.0.1])
by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 9-owKdI1srYr for ;
Tue, 25 Jun 2013 15:55:32 +0200 (CEST)
X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5
BL_NJABL=ERR(-1.5) (only DNSBL check requested)
Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25])
by theia.denx.de (Postfix) with ESMTP id 12CDA4A020
for ; Tue, 25 Jun 2013 15:55:24 +0200 (CEST)
Received: from epcpsbgm2.samsung.com (epcpsbgm2 [203.254.230.27])
by mailout2.samsung.com
(Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit
(built Nov
17 2011)) with ESMTP id <0MOY00AN9BZYTE80@mailout2.samsung.com> for
u-boot@lists.denx.de; Tue, 25 Jun 2013 22:55:22 +0900 (KST)
X-AuditID: cbfee61b-b7f8e6d00000524c-c6-51c9a149433d
Received: from epmmp1.local.host ( [203.254.227.16])
by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 0E.86.21068.941A9C15;
Tue, 25 Jun 2013 22:55:22 +0900 (KST)
Received: from mcdsrvbld02.digital.local ([106.116.37.23])
by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01
(7.0.4.24.0) 64bit (built Nov 17 2011))
with ESMTPA id <0MOY00IVEBZEH320@mmp1.samsung.com>; Tue,
25 Jun 2013 22:55:21 +0900 (KST)
From: Piotr Wilczek
To: u-boot@lists.denx.de
Date: Tue, 25 Jun 2013 15:54:43 +0200
Message-id: <1372168483-27588-1-git-send-email-p.wilczek@samsung.com>
X-Mailer: git-send-email 1.7.10
X-Brightmail-Tracker:
H4sIAAAAAAAAA+NgFnrBJMWRmVeSWpSXmKPExsVy+t9jAV2vhScDDWZ1MlqcbXrDbvHm4WZG
izdtjYwW656sZbV4u7eT3YHVY96sEyweZ+/sYPTo27KKMYA5issmJTUnsyy1SN8ugStjfaNc
wWveiuPXLzM1MB7h7mLk5JAQMJG4dGM/I4QtJnHh3nq2LkYuDiGBRYwSr9cvZwZJCAl0MUnc
3RcJYrMJaEssf/MGrEFEQELiV/9VRpAGZoH5jBLrDuxlA0kIC1hI/Lp0nxXEZhFQlVjbt5gd
xOYVcJV4vP4LK8Q2eYmn9/vYJjByL2BkWMUomlqQXFCclJ5rpFecmFtcmpeul5yfu4kR7P9n
0jsYVzVYHGIU4GBU4uH9EHciUIg1say4MvcQowQHs5II76Gsk4FCvCmJlVWpRfnxRaU5qcWH
GKU5WJTEeQ+2WgcKCaQnlqRmp6YWpBbBZJk4OKUaGDMWx83dwNRhZNP1hpvr2gkbFmbPCZc2
zGG6faWzZO8ZZY4Hyjms9oHMN2KKJMqiXZ1ud4sclGUK8pjQUVuvlmTKJ3gi8X7PYmc3tWqT
1NWt/JdKoz99+pEtpWfvFGp7Y9/dBda7dj7QKXh6TGdv6ZuSDYdCnssuLIx82Prq9g1nb7cb
eU57lFiKMxINtZiLihMBFjZbm/sBAAA=
Cc: Marek Vasut , Piotr Wilczek ,
Kyungmin Park
Subject: [U-Boot] [PATCH] drivers:usb: use get|put_unaligned_le16
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: U-Boot discussion
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
MIME-Version: 1.0
Sender: u-boot-bounces@lists.denx.de
Errors-To: u-boot-bounces@lists.denx.de
This patch use get|put_unaligned_le16 to access structure data
to avoid data abort on some ARM platforms.
Signed-off-by: Piotr Wilczek
Signed-off-by: Kyungmin Park
CC: Marek Vasut
---
drivers/usb/gadget/f_mass_storage.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c
index c28866f..b7e0df3 100644
--- a/drivers/usb/gadget/f_mass_storage.c
+++ b/drivers/usb/gadget/f_mass_storage.c
@@ -577,9 +577,9 @@ static int fsg_setup(struct usb_function *f,
{
struct fsg_dev *fsg = fsg_from_func(f);
struct usb_request *req = fsg->common->ep0req;
- u16 w_index = le16_to_cpu(ctrl->wIndex);
- u16 w_value = le16_to_cpu(ctrl->wValue);
- u16 w_length = le16_to_cpu(ctrl->wLength);
+ u16 w_index = get_unaligned_le16(&ctrl->wIndex);
+ u16 w_value = get_unaligned_le16(&ctrl->wValue);
+ u16 w_length = get_unaligned_le16(&ctrl->wLength);
if (!fsg_is_set(fsg->common))
return -EOPNOTSUPP;
@@ -617,7 +617,7 @@ static int fsg_setup(struct usb_function *f,
"unknown class-specific control req "
"%02x.%02x v%04x i%04x l%u\n",
ctrl->bRequestType, ctrl->bRequest,
- le16_to_cpu(ctrl->wValue), w_index, w_length);
+ get_unaligned_le16(&ctrl->wValue), w_index, w_length);
return -EOPNOTSUPP;
}
@@ -2261,7 +2261,7 @@ reset:
if (rc)
goto reset;
fsg->bulk_out_enabled = 1;
- common->bulk_out_maxpacket = le16_to_cpu(d->wMaxPacketSize);
+ common->bulk_out_maxpacket = get_unaligned_le16(&d->wMaxPacketSize);
clear_bit(IGNORE_BULK_OUT, &fsg->atomic_bitflags);
/* Allocate the requests */