Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1323674 > unrolled thread

[PATCH 2/2] usb: musb: Fix DMA desired mode for Mentor DMA engine

Started byJoshua Henderson <joshua.henderson@microchip.com>
First post2016-02-02 01:40 +0100
Last post2016-02-02 18:00 +0100
Articles 4 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 2/2] usb: musb: Fix DMA desired mode for Mentor DMA engine Joshua Henderson <joshua.henderson@microchip.com> - 2016-02-02 01:40 +0100
    Re: [PATCH 2/2] usb: musb: Fix DMA desired mode for Mentor DMA engine Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-02-02 14:40 +0100
      Re: [PATCH 2/2] usb: musb: Fix DMA desired mode for Mentor DMA engine Joshua Henderson <joshua.henderson@microchip.com> - 2016-02-02 17:40 +0100
        Re: [PATCH 2/2] usb: musb: Fix DMA desired mode for Mentor DMA engine Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-02-02 18:00 +0100

#1323674 — [PATCH 2/2] usb: musb: Fix DMA desired mode for Mentor DMA engine

FromJoshua Henderson <joshua.henderson@microchip.com>
Date2016-02-02 01:40 +0100
Subject[PATCH 2/2] usb: musb: Fix DMA desired mode for Mentor DMA engine
Message-ID<qXxaF-2zt-13@gated-at.bofh.it>
From: Cristian Birsan <cristian.birsan@microchip.com>

Commit 6b6e97107f12f3a9f7 (USB: musb: fix isochronous TXDMA (take 2)) 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 a pointer value, 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 <cristian.birsan@microchip.com>
Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
---
 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 3fdc99b..748379e 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

[toc] | [next] | [standalone]


#1324095

FromSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Date2016-02-02 14:40 +0100
Message-ID<qXJlv-3CC-13@gated-at.bofh.it>
In reply to#1323674
On 2/2/2016 3:37 AM, Joshua Henderson wrote:

> From: Cristian Birsan <cristian.birsan@microchip.com>
>
> Commit 6b6e97107f12f3a9f7 (USB: musb: fix isochronous TXDMA (take 2)) introduces

    Again, wrong commit style. And I really doubt that blaming my commit was 
correct. :-)

> 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 a pointer value, 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 <cristian.birsan@microchip.com>
> Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
> ---
>   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 3fdc99b..748379e 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,

    Hm, there was no such function at the time of my commit...

>   		csr &= ~(MUSB_TXCSR_AUTOSET | MUSB_TXCSR_DMAMODE);
>   		csr |= MUSB_TXCSR_DMAENAB; /* against programmer's guide */
>   	}
> -	channel->desired_mode = mode;
> +	channel->desired_mode = *mode;

   'mode' was 'u8' at the time of my commit, see:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6b6e97107f12f3a9f7b5b43a6c3b94409240bcff

    I think that the recent commit below should be blamed instead:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=754fe4a92c072a6e36d89fa328ed789c9ebc1af5

[...]

MBR, Sergei

[toc] | [prev] | [next] | [standalone]


#1324258

FromJoshua Henderson <joshua.henderson@microchip.com>
Date2016-02-02 17:40 +0100
Message-ID<qXM9I-5Km-7@gated-at.bofh.it>
In reply to#1324095
Sergei,

On 02/02/2016 06:32 AM, Sergei Shtylyov wrote:
> On 2/2/2016 3:37 AM, Joshua Henderson wrote:
> 
>> From: Cristian Birsan <cristian.birsan@microchip.com>
>>
>> Commit 6b6e97107f12f3a9f7 (USB: musb: fix isochronous TXDMA (take 2)) introduces
> 
>    Again, wrong commit style. And I really doubt that blaming my commit was correct. :-)

I apologize.  I noticed you added the line in question, but did not notice the variable type of "mode" changed *afterward*.  Completely my fault.  I shall also fix the commit message style.

> 
>> 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 a pointer value, 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 <cristian.birsan@microchip.com>
>> Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
>> ---
>>   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 3fdc99b..748379e 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,
> 
>    Hm, there was no such function at the time of my commit...
> 
>>           csr &= ~(MUSB_TXCSR_AUTOSET | MUSB_TXCSR_DMAMODE);
>>           csr |= MUSB_TXCSR_DMAENAB; /* against programmer's guide */
>>       }
>> -    channel->desired_mode = mode;
>> +    channel->desired_mode = *mode;
> 
>   'mode' was 'u8' at the time of my commit, see:
> 
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6b6e97107f12f3a9f7b5b43a6c3b94409240bcff
> 
>    I think that the recent commit below should be blamed instead:
> 
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=754fe4a92c072a6e36d89fa328ed789c9ebc1af5

I'll take a look at this and make sure.

Thanks,
Josh

[toc] | [prev] | [next] | [standalone]


#1324282

FromSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Date2016-02-02 18:00 +0100
Message-ID<qXMt5-5Rl-19@gated-at.bofh.it>
In reply to#1324258
On 02/02/2016 07:36 PM, Joshua Henderson wrote:

>>> From: Cristian Birsan <cristian.birsan@microchip.com>
>>>
>>> Commit 6b6e97107f12f3a9f7 (USB: musb: fix isochronous TXDMA (take 2)) introduces
>>
>>     Again, wrong commit style.

    Commit citing style, I meant.

>> And I really doubt that blaming my commit was correct. :-)
>
> I apologize.  I noticed you added the line in question, but did not notice the variable type of "mode" changed *afterward*.

    So I thought. :-)

> Completely my fault.  I shall also fix the commit message style.

    TIA.

[...]

> Thanks,
> Josh

MBR, Sergei

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web