linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] pch_uart: Fix dma channel unallocated issue
@ 2012-03-27  9:56 Tomoya MORINAGA
  2012-04-09 17:44 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 4+ messages in thread
From: Tomoya MORINAGA @ 2012-03-27  9:56 UTC (permalink / raw)
  To: Alan Cox, Greg Kroah-Hartman, linux-serial, linux-kernel
  Cc: qi.wang, yong.y.wang, joel.clark, kok.howg.ewe, Tomoya MORINAGA

This driver anticipates pch_uart_verify_port() is not called
during installation.
However, actually pch_uart_verify_port() is called during
installation.
As a result, memory access violation occurs like below.

0. initial value: use_dma=0
1. starup()
    - dma channel is not allocated because use_dma=0
2. pch_uart_verify_port()
    - Set use_dma=1
3. UART processing acts DMA mode because use_dma=1
     - memory access violation occurs!

This patch fixes the issue.

Solution:
Whenever pch_uart_verify_port() is called and then
dma channel is not allocated, the channel should be allocated.

Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
---
 drivers/tty/serial/pch_uart.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
index 803847b..e297b7c 100644
--- a/drivers/tty/serial/pch_uart.c
+++ b/drivers/tty/serial/pch_uart.c
@@ -1452,8 +1452,10 @@ static int pch_uart_verify_port(struct uart_port *port,
 			__func__);
 		return -EOPNOTSUPP;
 #endif
-		priv->use_dma = 1;
 		dev_info(priv->port.dev, "PCH UART : Use DMA Mode\n");
+		if (!priv->use_dma)
+			pch_request_dma(port);
+		priv->use_dma = 1;
 	}
 
 	return 0;
-- 
1.7.7.6


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] pch_uart: Fix dma channel unallocated issue
  2012-03-27  9:56 [PATCH] pch_uart: Fix dma channel unallocated issue Tomoya MORINAGA
@ 2012-04-09 17:44 ` Greg Kroah-Hartman
  2012-04-10  1:26   ` Tomoya MORINAGA
  0 siblings, 1 reply; 4+ messages in thread
From: Greg Kroah-Hartman @ 2012-04-09 17:44 UTC (permalink / raw)
  To: Tomoya MORINAGA
  Cc: Alan Cox, linux-serial, linux-kernel, qi.wang, yong.y.wang,
	joel.clark, kok.howg.ewe

On Tue, Mar 27, 2012 at 06:56:02PM +0900, Tomoya MORINAGA wrote:
> This driver anticipates pch_uart_verify_port() is not called
> during installation.
> However, actually pch_uart_verify_port() is called during
> installation.
> As a result, memory access violation occurs like below.
> 
> 0. initial value: use_dma=0
> 1. starup()
>     - dma channel is not allocated because use_dma=0
> 2. pch_uart_verify_port()
>     - Set use_dma=1
> 3. UART processing acts DMA mode because use_dma=1
>      - memory access violation occurs!
> 
> This patch fixes the issue.
> 
> Solution:
> Whenever pch_uart_verify_port() is called and then
> dma channel is not allocated, the channel should be allocated.
> 
> Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
> ---
>  drivers/tty/serial/pch_uart.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)

This patch does not apply to 3.4-rc2, so I can not apply it, sorry.

Care to redo it?

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] pch_uart: Fix dma channel unallocated issue
  2012-04-09 17:44 ` Greg Kroah-Hartman
@ 2012-04-10  1:26   ` Tomoya MORINAGA
  2012-04-10 14:41     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 4+ messages in thread
From: Tomoya MORINAGA @ 2012-04-10  1:26 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Alan Cox, linux-serial, linux-kernel, qi.wang, yong.y.wang,
	joel.clark, kok.howg.ewe

On Tue, Apr 10, 2012 at 2:44 AM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>> This driver anticipates pch_uart_verify_port() is not called
>> during installation.
>> However, actually pch_uart_verify_port() is called during
>> installation.
>> As a result, memory access violation occurs like below.
>>
>> 0. initial value: use_dma=0
>> 1. starup()
>>     - dma channel is not allocated because use_dma=0
>> 2. pch_uart_verify_port()
>>     - Set use_dma=1
>> 3. UART processing acts DMA mode because use_dma=1
>>      - memory access violation occurs!
>>
>> This patch fixes the issue.
>>
>> Solution:
>> Whenever pch_uart_verify_port() is called and then
>> dma channel is not allocated, the channel should be allocated.
>>
>> Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
>> ---
>>  drivers/tty/serial/pch_uart.c |    4 +++-
>>  1 files changed, 3 insertions(+), 1 deletions(-)
>
> This patch does not apply to 3.4-rc2, so I can not apply it, sorry.
>
> Care to redo it?

This patch depends on the following patch you've already accepted.

From 44db113212d86a5870c2bfe8fb767fa842d68805 Mon Sep 17 00:00:00 2001
From: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Date: Mon, 26 Mar 2012 14:43:00 +0900
Subject: pch_uart: Delete unused structure member

Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/tty/serial/pch_uart.c |    2 --
 1 file changed, 2 deletions(-)


So now,  this patch can be applied.
In fact, I've confirmed this patch can be applied to 3.4-rc2 with the
following order.
1st: pch_uart: Delete unused structure member
2nd: pch_uart: Fix dma channel unallocated issue

I should have written the dependency.
Could you try to apply this patch again ?

thanks
-- 
ROHM Co., Ltd.
tomoya
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] pch_uart: Fix dma channel unallocated issue
  2012-04-10  1:26   ` Tomoya MORINAGA
@ 2012-04-10 14:41     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 4+ messages in thread
From: Greg Kroah-Hartman @ 2012-04-10 14:41 UTC (permalink / raw)
  To: Tomoya MORINAGA
  Cc: Alan Cox, linux-serial, linux-kernel, qi.wang, yong.y.wang,
	joel.clark, kok.howg.ewe

On Tue, Apr 10, 2012 at 10:26:25AM +0900, Tomoya MORINAGA wrote:
> On Tue, Apr 10, 2012 at 2:44 AM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> >> This driver anticipates pch_uart_verify_port() is not called
> >> during installation.
> >> However, actually pch_uart_verify_port() is called during
> >> installation.
> >> As a result, memory access violation occurs like below.
> >>
> >> 0. initial value: use_dma=0
> >> 1. starup()
> >>     - dma channel is not allocated because use_dma=0
> >> 2. pch_uart_verify_port()
> >>     - Set use_dma=1
> >> 3. UART processing acts DMA mode because use_dma=1
> >>      - memory access violation occurs!
> >>
> >> This patch fixes the issue.
> >>
> >> Solution:
> >> Whenever pch_uart_verify_port() is called and then
> >> dma channel is not allocated, the channel should be allocated.
> >>
> >> Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
> >> ---
> >>  drivers/tty/serial/pch_uart.c |    4 +++-
> >>  1 files changed, 3 insertions(+), 1 deletions(-)
> >
> > This patch does not apply to 3.4-rc2, so I can not apply it, sorry.
> >
> > Care to redo it?
> 
> This patch depends on the following patch you've already accepted.
> 
> >From 44db113212d86a5870c2bfe8fb767fa842d68805 Mon Sep 17 00:00:00 2001
> From: Tomoya MORINAGA <tomoya.rohm@gmail.com>
> Date: Mon, 26 Mar 2012 14:43:00 +0900
> Subject: pch_uart: Delete unused structure member
> 
> Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  drivers/tty/serial/pch_uart.c |    2 --
>  1 file changed, 2 deletions(-)
> 
> 
> So now,  this patch can be applied.
> In fact, I've confirmed this patch can be applied to 3.4-rc2 with the
> following order.
> 1st: pch_uart: Delete unused structure member

That patch is not applicable for the 3.4-release.

> 2nd: pch_uart: Fix dma channel unallocated issue

But I thought this one would be, which is why I did not try to apply
anything else before it.

> I should have written the dependency.

Yes, you always should.

> Could you try to apply this patch again ?

Don't you want this patch in the 3.4-final release?  If so, I need it
without the dependancy.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-04-10 14:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-27  9:56 [PATCH] pch_uart: Fix dma channel unallocated issue Tomoya MORINAGA
2012-04-09 17:44 ` Greg Kroah-Hartman
2012-04-10  1:26   ` Tomoya MORINAGA
2012-04-10 14:41     ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).