From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161229AbcA1QYu (ORCPT ); Thu, 28 Jan 2016 11:24:50 -0500 Received: from mout.kundenserver.de ([212.227.126.131]:54473 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S967059AbcA1QYp (ORCPT ); Thu, 28 Jan 2016 11:24:45 -0500 From: Arnd Bergmann To: Felipe Balbi Cc: linux-arm-kernel@lists.infradead.org, Arnd Bergmann , Felipe Balbi , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Robert Jarzmik , Haojian Zhuang , Daniel Mack , Imre Kaloz , Krzysztof Halasa , Greg Kroah-Hartman Subject: [PATCH 7/7] usb: musb/ux500: remove duplicate check for dma_is_compatible Date: Thu, 28 Jan 2016 17:23:15 +0100 Message-Id: <1453998206-3490016-3-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1453998206-3490016-1-git-send-email-arnd@arndb.de> References: <1453997722-3489596-1-git-send-email-arnd@arndb.de> <1453998206-3490016-1-git-send-email-arnd@arndb.de> X-Provags-ID: V03:K0:FWxJHL3G4PTyfGWUb+NITW+Qowqh/ZW60RMDCUcUa7jg4EsOZR+ lZSqLh+oFOHW+2A62zW7CPuXWNZvQ5ITuex2+NIuP5tkXNtn3/ZwFOsKjeveSw21vYzgLr0 mfVyYg4X9Yi+Ldc+Q6121BIgSzum6eWEZNjzlZB5box9CDmfYwr9cI9kQRzm9qA7s8EZ0Gk ZYHfkZGkeu+sE1mCuL3aA== X-UI-Out-Filterresults: notjunk:1;V01:K0:3CJlrZBtV8I=:snXUz7ZrL8tSGp68dMzlvi pv2lu868RavSVuo3j+LNgO/5lxajgYGJXCCt8ax9qKCUPyeERAktIJyE+164z3sa09kXnmNf9 T3djRqUNlkfbWJOAirBd7rTkYdbBkIfFHPIUmmNbsCPG8ZtZIMCJikNzMJci/hZS6yssADofX rwQ11Krgp2BYSR7C7L2iYF+hii9b1Z2SgVYbO7g5Dk3l6BgseE/F5S4g6RKiP3uVmpfslKibI 3USV1lRCbyBplbM3JQMRl5stas81I9rSzNoCr7xHrYNH+H3nOKF85ngBUFQE59VbDWMdBOhhj kZK7nz8BHEtwbCMsj0jWe6/ocKwoRRlCsdaX1kt9R3ULhbW0eEueAmI3We4YZY+dGvsd+VqWr 2B2vCSk5ApsflRmOd5jNgXLWaEf+PXav0qBXMoCeEhS8qiIph1mzktXn+Vv1CrXAIY3v0bUJY Y3qpNP02KjTMFD7Gumi7gqUxOWokSoyQainzsQUjTYvmtVQI1xVQb8FK7SgrTafmC55yRueyM SiJD3decrVmRlbUnWfYN8P9ZaFXjyboNOTLX55jV09VIkIYXjwR7Sxw8miUX8LAE/W+DDvQt6 VW5csGTCDLFi4vjJ0AbDOtxtwiPLzCF+C2effDZfj/yheTdIMhfNgMhA0dX3gCLw+++3I3846 NJOr4lWTvp6yrYN/7gLsfs0zInhCvkc0Qg8kezkT+iovRzjqabhooiedXX7gkGlZ/4Jo= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When dma_addr_t is 64-bit, we get a warning about an invalid cast in the call to ux500_dma_is_compatible() from ux500_dma_channel_program(): drivers/usb/musb/ux500_dma.c: In function 'ux500_dma_channel_program': drivers/usb/musb/ux500_dma.c:210:51: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] if (!ux500_dma_is_compatible(channel, packet_sz, (void *)dma_addr, len)) The problem is that ux500_dma_is_compatible() is called from the main musb driver on the virtual address, but here we pass in a DMA address, so the types are fundamentally different but it works because the function only checks the alignment of the buffer and that is the same. We could work around this by adding another cast, but I have checked that the buffer we get passed here is already checked before it gets mapped, so the second check seems completely unnecessary and removing it must be the cleanest solution. Signed-off-by: Arnd Bergmann --- drivers/usb/musb/ux500_dma.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/usb/musb/ux500_dma.c b/drivers/usb/musb/ux500_dma.c index d0b6a1cd7f62..c92a295049ad 100644 --- a/drivers/usb/musb/ux500_dma.c +++ b/drivers/usb/musb/ux500_dma.c @@ -207,9 +207,6 @@ static int ux500_dma_channel_program(struct dma_channel *channel, BUG_ON(channel->status == MUSB_DMA_STATUS_UNKNOWN || channel->status == MUSB_DMA_STATUS_BUSY); - if (!ux500_dma_is_compatible(channel, packet_sz, (void *)dma_addr, len)) - return false; - channel->status = MUSB_DMA_STATUS_BUSY; channel->actual_len = 0; ret = ux500_configure_channel(channel, packet_sz, mode, dma_addr, len); -- 2.7.0