From patchwork Mon May 13 10:23:37 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vivek Gautam X-Patchwork-Id: 243354 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 917932C00A8 for ; Mon, 13 May 2013 20:25:38 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id B51234A020; Mon, 13 May 2013 12:25:36 +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 TgFCvf3TXXSj; Mon, 13 May 2013 12:25:36 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 588CD4A023; Mon, 13 May 2013 12:25:35 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 767884A025 for ; Mon, 13 May 2013 12:25:28 +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 D9y9vHvptnD9 for ; Mon, 13 May 2013 12:25:22 +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 mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by theia.denx.de (Postfix) with ESMTP id 65A834A020 for ; Mon, 13 May 2013 12:25:15 +0200 (CEST) Received: from epcpsbgr1.samsung.com (u141.gpu120.samsung.co.kr [203.254.230.141]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MMQ00N6PFM00DD0@mailout4.samsung.com> for u-boot@lists.denx.de; Mon, 13 May 2013 19:25:12 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [172.20.52.124]) by epcpsbgr1.samsung.com (EPCPMTA) with SMTP id E7.5F.17404.88FB0915; Mon, 13 May 2013 19:25:12 +0900 (KST) X-AuditID: cbfee68d-b7f096d0000043fc-f5-5190bf88d6d2 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id A8.42.17674.88FB0915; Mon, 13 May 2013 19:25:12 +0900 (KST) Received: from vivekkumarg-linuxpc.sisodomain.com ([107.108.214.169]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MMQ005ERFLQEC90@mmp1.samsung.com>; Mon, 13 May 2013 19:25:11 +0900 (KST) From: Vivek Gautam To: u-boot@lists.denx.de Date: Mon, 13 May 2013 15:53:37 +0530 Message-id: <1368440618-11359-1-git-send-email-gautam.vivek@samsung.com> X-Mailer: git-send-email 1.7.6.5 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrJLMWRmVeSWpSXmKPExsWyRsSkRrdj/4RAg5PPxSzarhxkt/jx8DeL xZu2RkaLt3s72R1YPB5M/c/kMW/WCRaPs3d2MHr0bVnFGMASxWWTkpqTWZZapG+XwJVxbe0J poKDvBWrt6U2ME7m7mLk5JAQMJE4e/kcK4QtJnHh3nq2LkYuDiGBpYwSHxdfZ4Mp+jVrDStE YhGjxNqVS1ggnClMEk+PLGQEqWIT0JVoersLzBYRkJD41X8VzGYWSJfYt/gxcxcjB4ewQKTE 1BkGIGEWAVWJP9tmsYOEeQU8JBa2hkLsUpB4c/sZM8h4CYHHbBKbf85ghqgXkPg2+RALSL2E gKzEpgPMEPWSEgdX3GCZwCi4gJFhFaNoakFyQXFSepGhXnFibnFpXrpecn7uJkZgMJ7+96x3 B+PtA9aHGJOBxk1klhJNzgcGc15JvKGxmZGFqYmpsZG5pRlpwkrivGot1oFCAumJJanZqakF qUXxRaU5qcWHGJk4OKUaGG2v/LD0amGauZFn06331470Mm9bfvPOrXUuRQ8cI7QfSUet9+A/ +Xljf4ujn4lfR+zbiX+2zn5sXLFcdamZzes23WVatXJszau4isuEi04w3/20aWNzAKfVnktW nQcfKC23/PejsPrChuSdUw494y2ZcDapuXOvn6mFiPD/E7sqbDVP1uzW+6rEUpyRaKjFXFSc CAD4ObD+XAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrGIsWRmVeSWpSXmKPExsVy+t9jAd2O/RMCDc5u57Nou3KQ3eLHw98s Fm/aGhkt3u7tZHdg8Xgw9T+Tx7xZJ1g8zt7ZwejRt2UVYwBLVAOjTUZqYkpqkUJqXnJ+SmZe uq2Sd3C8c7ypmYGhrqGlhbmSQl5ibqqtkotPgK5bZg7QUiWFssScUqBQQGJxsZK+HaYJoSFu uhYwjRG6viFBcD1GBmggYQ1jxrW1J5gKDvJWrN6W2sA4mbuLkZNDQsBE4tesNawQtpjEhXvr 2boYuTiEBBYxSqxduYQFwpnCJPH0yEJGkCo2AV2Jpre7wGwRAQmJX/1XwWxmgXSJfYsfM3cx cnAIC0RKTJ1hABJmEVCV+LNtFjtImFfAQ2JhayjELgWJN7efMU9g5F7AyLCKUTS1ILmgOCk9 10ivODG3uDQvXS85P3cTIzjUn0nvYFzVYHGIUYCDUYmH10NxQqAQa2JZcWXuIUYJDmYlEV7L zUAh3pTEyqrUovz4otKc1OJDjMlAyycyS4km5wPjMK8k3tDYxNzU2NTSxMLEzJI0YSVx3oOt 1oFCAumJJanZqakFqUUwW5g4OKUaGCtN/nidZT9tE+6nZqZg2F47b7qp182y88JPPMoki8Nv cdxxlfvINyul0CNTaNfJA68WfJe+969E1+LBd29hRd2F+gcOiEv2rJtktuxTo3eI9ARxP3e2 Gcfr2uwWyf5zNHfuOSCoycv86cZT13z1je731LR1N8lkGx5QmSb4W06y/pL3UYlUJZbijERD Leai4kQADz1CiLkCAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: Marek Vasut , Ilya Yanok , gautam.vivek@samsung.com Subject: [U-Boot] [PATCH 1/2] usb: Use get_unaligned() in usb_endpoint_maxp() for wMaxPacketSize 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 Use unaligned access to fetch wMaxPacketSize in usb_endpoint_maxp() api. In its absence we see following data abort message: ============================================================== data abort MAYBE you should read doc/README.arm-unaligned-accesses pc : [] lr : [] sp : bf37c7b0 ip : 0000002f fp : 00000000 r10: 00000000 r9 : 00000002 r8 : bf37fecc r7 : 00000001 r6 : bf7d8931 r5 : bf7d891c r4 : bf7d8800 r3 : bf7d65b0 r2 : 00000002 r1 : bf7d65b4 r0 : 00000027 Flags: nZCv IRQs off FIQs off Mode SVC_32 Resetting CPU ... resetting ... ============================================================== Signed-off-by: Vivek Gautam Cc: Ilya Yanok Cc: Marek Vasut --- Based on u-boot-usb/next. Tested with 'u-boot-usb/master' branch. include/linux/usb/ch9.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/include/linux/usb/ch9.h b/include/linux/usb/ch9.h index d1d732c..bd48704 100644 --- a/include/linux/usb/ch9.h +++ b/include/linux/usb/ch9.h @@ -35,6 +35,7 @@ #include /* __u8 etc */ #include /* le16_to_cpu */ +#include /* get_unaligned() */ /*-------------------------------------------------------------------------*/ @@ -596,7 +597,7 @@ static inline int usb_endpoint_is_isoc_out( */ static inline int usb_endpoint_maxp(const struct usb_endpoint_descriptor *epd) { - return __le16_to_cpu(epd->wMaxPacketSize); + return __le16_to_cpu(get_unaligned(&epd->wMaxPacketSize)); } static inline int usb_endpoint_interrupt_type(