From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932434AbcBHWPU (ORCPT ); Mon, 8 Feb 2016 17:15:20 -0500 Received: from exsmtp01.microchip.com ([198.175.253.37]:44479 "EHLO email.microchip.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932395AbcBHWPQ (ORCPT ); Mon, 8 Feb 2016 17:15:16 -0500 From: Joshua Henderson To: CC: Cristian Birsan , Joshua Henderson , Felipe Balbi , Greg Kroah-Hartman , Subject: [PATCH v2 2/2] usb: musb: Fix DMA desired mode for Mentor DMA engine Date: Mon, 8 Feb 2016 15:15:30 -0700 Message-ID: <1454969730-18480-2-git-send-email-joshua.henderson@microchip.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1454969730-18480-1-git-send-email-joshua.henderson@microchip.com> References: <1454969730-18480-1-git-send-email-joshua.henderson@microchip.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Cristian Birsan Commit 754fe4a92c07 ("usb: musb: Remove ifdefs for TX DMA for musb_host.c") introduces a problem setting the desired channel mode for the Mentor DMA engine. There is a case where the pointer of the channel DMA mode is incorrectly assigned to an address, when it should be assigned the actual mode value. This results in the value of channel->desired_mode not being correct. Signed-off-by: Cristian Birsan Signed-off-by: Joshua Henderson --- Changes since v1: - Fix commit comment citing the cause of the regression. --- drivers/usb/musb/musb_host.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c index 6bef86f..b9e24862 100644 --- a/drivers/usb/musb/musb_host.c +++ b/drivers/usb/musb/musb_host.c @@ -662,7 +662,7 @@ static int musb_tx_dma_set_mode_mentor(struct dma_controller *dma, csr &= ~(MUSB_TXCSR_AUTOSET | MUSB_TXCSR_DMAMODE); csr |= MUSB_TXCSR_DMAENAB; /* against programmer's guide */ } - channel->desired_mode = mode; + channel->desired_mode = *mode; musb_writew(epio, MUSB_TXCSR, csr); return 0; -- 1.7.9.5