Re: [PATCH] Fix memory issue in non-DMA mode for MUSB gadget

2018-08-03 Thread Bin Liu
Hi,

Please don't top-posting.

On Fri, Aug 03, 2018 at 06:25:50AM +, Alexey Spirkov wrote:
> Hi, Bin,
> 
> Thanks for note, but what do you think - is 'dma_mapping_error'
> checking still needed before call of unmap_dma_buffer? If yes than
> I'll check DMA usage in this check instead of is_buffer_map.

No, unmap_dma_buffer() can be called unconditionally here because
unmap_dma_buffer() already calls is_buffer_mapped() internally.

So my comment below is to remove the 'if' condition check you modified.

Regards,
-Bin.

> 
> Best regards,
> Alexey Spirkov
> 
> -Original Message-
> From: Bin Liu  
> Sent: Thursday, August 2, 2018 7:15 PM
> To: Alexey Spirkov 
> Cc: Greg Kroah-Hartman ; 
> linux-usb@vger.kernel.org; and...@ncrmnt.org
> Subject: Re: [PATCH] Fix memory issue in non-DMA mode for MUSB gadget
> 
> Hi,
> 
> On Thu, Jul 26, 2018 at 12:52:57PM +, Alexey Spirkov wrote:
> > dma_mapping_error function unable to works in PowerPC arch when MUSB 
> > do not use DMA (illegal memory access). Proposed patch replace its 
> > usage to usual define for checking DMA mapping.
> > 
> > Signed-off-by: Alexey Spirkov 
> > ---
> >  drivers/usb/musb/musb_gadget.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/usb/musb/musb_gadget.c 
> > b/drivers/usb/musb/musb_gadget.c index eae8b1b..3bc7c25 100644
> > --- a/drivers/usb/musb/musb_gadget.c
> > +++ b/drivers/usb/musb/musb_gadget.c
> > @@ -140,7 +140,7 @@ __acquires(ep->musb->lock)
> > ep->busy = 1;
> > spin_unlock(>lock);
> >  
> > -   if (!dma_mapping_error(>g.dev, request->dma))
> > +   if (req && is_buffer_mapped(req))
> 
> unmap_dma_buffer() checks for is_buffer_mapped(), so this line can be dropped.
> 
> > unmap_dma_buffer(req, musb);
> >  
> > trace_musb_req_gb(req);
> 
> Regards,
> -Bin.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH] Fix memory issue in non-DMA mode for MUSB gadget

2018-08-03 Thread Alexey Spirkov
Hi, Bin,

Thanks for note, but what do you think - is 'dma_mapping_error' checking still 
needed before call 
of unmap_dma_buffer? If yes than I'll check DMA usage in this check instead of 
is_buffer_map.

Best regards,
Alexey Spirkov

-Original Message-
From: Bin Liu  
Sent: Thursday, August 2, 2018 7:15 PM
To: Alexey Spirkov 
Cc: Greg Kroah-Hartman ; linux-usb@vger.kernel.org; 
and...@ncrmnt.org
Subject: Re: [PATCH] Fix memory issue in non-DMA mode for MUSB gadget

Hi,

On Thu, Jul 26, 2018 at 12:52:57PM +, Alexey Spirkov wrote:
> dma_mapping_error function unable to works in PowerPC arch when MUSB 
> do not use DMA (illegal memory access). Proposed patch replace its 
> usage to usual define for checking DMA mapping.
> 
> Signed-off-by: Alexey Spirkov 
> ---
>  drivers/usb/musb/musb_gadget.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/musb/musb_gadget.c 
> b/drivers/usb/musb/musb_gadget.c index eae8b1b..3bc7c25 100644
> --- a/drivers/usb/musb/musb_gadget.c
> +++ b/drivers/usb/musb/musb_gadget.c
> @@ -140,7 +140,7 @@ __acquires(ep->musb->lock)
>   ep->busy = 1;
>   spin_unlock(>lock);
>  
> - if (!dma_mapping_error(>g.dev, request->dma))
> + if (req && is_buffer_mapped(req))

unmap_dma_buffer() checks for is_buffer_mapped(), so this line can be dropped.

>   unmap_dma_buffer(req, musb);
>  
>   trace_musb_req_gb(req);

Regards,
-Bin.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Fix memory issue in non-DMA mode for MUSB gadget

2018-08-02 Thread Bin Liu
On Thu, Aug 02, 2018 at 11:14:32AM -0500, Bin Liu wrote:
> Hi,
> 
> On Thu, Jul 26, 2018 at 12:52:57PM +, Alexey Spirkov wrote:
> > dma_mapping_error function unable to works in PowerPC arch
> > when MUSB do not use DMA (illegal memory access). Proposed
> > patch replace its usage to usual define for checking DMA mapping.
> > 
> > Signed-off-by: Alexey Spirkov 
> > ---
> >  drivers/usb/musb/musb_gadget.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
> > index eae8b1b..3bc7c25 100644
> > --- a/drivers/usb/musb/musb_gadget.c
> > +++ b/drivers/usb/musb/musb_gadget.c
> > @@ -140,7 +140,7 @@ __acquires(ep->musb->lock)
> > ep->busy = 1;
> > spin_unlock(>lock);
> >  
> > -   if (!dma_mapping_error(>g.dev, request->dma))
> > +   if (req && is_buffer_mapped(req))
> 
> unmap_dma_buffer() checks for is_buffer_mapped(), so this line can be
> dropped.
> 
> > unmap_dma_buffer(req, musb);
> >  
> > trace_musb_req_gb(req);

Please also fix the patch subject to "usb: musb: gadget: ..." in your
v2. I prefer

"usb: musb: gadget: fix illegal dma address check in non-DMA mode"

Regards,
-Bin.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Fix memory issue in non-DMA mode for MUSB gadget

2018-08-02 Thread Bin Liu
Hi,

On Thu, Jul 26, 2018 at 12:52:57PM +, Alexey Spirkov wrote:
> dma_mapping_error function unable to works in PowerPC arch
> when MUSB do not use DMA (illegal memory access). Proposed
> patch replace its usage to usual define for checking DMA mapping.
> 
> Signed-off-by: Alexey Spirkov 
> ---
>  drivers/usb/musb/musb_gadget.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
> index eae8b1b..3bc7c25 100644
> --- a/drivers/usb/musb/musb_gadget.c
> +++ b/drivers/usb/musb/musb_gadget.c
> @@ -140,7 +140,7 @@ __acquires(ep->musb->lock)
>   ep->busy = 1;
>   spin_unlock(>lock);
>  
> - if (!dma_mapping_error(>g.dev, request->dma))
> + if (req && is_buffer_mapped(req))

unmap_dma_buffer() checks for is_buffer_mapped(), so this line can be
dropped.

>   unmap_dma_buffer(req, musb);
>  
>   trace_musb_req_gb(req);

Regards,
-Bin.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] Fix memory issue in non-DMA mode for MUSB gadget

2018-07-26 Thread Alexey Spirkov
dma_mapping_error function unable to works in PowerPC arch
when MUSB do not use DMA (illegal memory access). Proposed
patch replace its usage to usual define for checking DMA mapping.

Signed-off-by: Alexey Spirkov 
---
 drivers/usb/musb/musb_gadget.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
index eae8b1b..3bc7c25 100644
--- a/drivers/usb/musb/musb_gadget.c
+++ b/drivers/usb/musb/musb_gadget.c
@@ -140,7 +140,7 @@ __acquires(ep->musb->lock)
ep->busy = 1;
spin_unlock(>lock);
 
-   if (!dma_mapping_error(>g.dev, request->dma))
+   if (req && is_buffer_mapped(req))
unmap_dma_buffer(req, musb);
 
trace_musb_req_gb(req);
-- 
2.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html