linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback
@ 2018-01-22  7:28 Yang Shunyong
  2018-01-23 14:32 ` Adam Wallis
  2018-01-29  4:45 ` Vinod Koul
  0 siblings, 2 replies; 8+ messages in thread
From: Yang Shunyong @ 2018-01-22  7:28 UTC (permalink / raw)
  To: vinod.koul
  Cc: dan.j.williams, awallis, yu.zheng, dmaengine, linux-kernel,
	Yang Shunyong

The type of arg passed to dmatest_callback is struct dmatest_done.
It refers to test_done in struct dmatest_thread, not done_wait.

Fixes: 6f6a23a213be ("dmaengine: dmatest: move callback wait ...")
Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>
---
 drivers/dma/dmatest.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
index ec5f9d2bc820..906e85d6dedc 100644
--- a/drivers/dma/dmatest.c
+++ b/drivers/dma/dmatest.c
@@ -355,7 +355,7 @@ static void dmatest_callback(void *arg)
 {
 	struct dmatest_done *done = arg;
 	struct dmatest_thread *thread =
-		container_of(arg, struct dmatest_thread, done_wait);
+		container_of(arg, struct dmatest_thread, test_done);
 	if (!thread->done) {
 		done->done = true;
 		wake_up_all(done->wait);
-- 
1.8.3.1

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

* Re: [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback
  2018-01-22  7:28 [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback Yang Shunyong
@ 2018-01-23 14:32 ` Adam Wallis
  2018-01-24  1:47   ` Yang, Shunyong
  2018-02-11  9:28   ` Wen He
  2018-01-29  4:45 ` Vinod Koul
  1 sibling, 2 replies; 8+ messages in thread
From: Adam Wallis @ 2018-01-23 14:32 UTC (permalink / raw)
  To: Yang Shunyong, vinod.koul
  Cc: dan.j.williams, yu.zheng, dmaengine, linux-kernel, Graham Moore,
	okaya@codeaurora.org >> Sinan Kaya

On 1/22/2018 2:28 AM, Yang Shunyong wrote:
> The type of arg passed to dmatest_callback is struct dmatest_done.
> It refers to test_done in struct dmatest_thread, not done_wait.
> 
> Fixes: 6f6a23a213be ("dmaengine: dmatest: move callback wait ...")
> Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>
> ---
>  drivers/dma/dmatest.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
> index ec5f9d2bc820..906e85d6dedc 100644
> --- a/drivers/dma/dmatest.c
> +++ b/drivers/dma/dmatest.c
> @@ -355,7 +355,7 @@ static void dmatest_callback(void *arg)
>  {
>  	struct dmatest_done *done = arg;
>  	struct dmatest_thread *thread =
> -		container_of(arg, struct dmatest_thread, done_wait);
> +		container_of(arg, struct dmatest_thread, test_done);
>  	if (!thread->done) {
>  		done->done = true;
>  		wake_up_all(done->wait);
> 
Thanks for the catch

Acked-by: Adam Wallis <awallis@codeaurora.org>
-- 
Adam Wallis
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

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

* Re: [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback
  2018-01-23 14:32 ` Adam Wallis
@ 2018-01-24  1:47   ` Yang, Shunyong
  2018-01-24 18:34     ` Adam Wallis
  2018-02-11  9:28   ` Wen He
  1 sibling, 1 reply; 8+ messages in thread
From: Yang, Shunyong @ 2018-01-24  1:47 UTC (permalink / raw)
  To: awallis, vinod.koul
  Cc: dan.j.williams, dmaengine, linux-kernel, Zheng, Joey, okaya,
	graham.moore

Hi, Adam

On Tue, 2018-01-23 at 09:32 -0500, Adam Wallis wrote:
> On 1/22/2018 2:28 AM, Yang Shunyong wrote:
> > 
> > The type of arg passed to dmatest_callback is struct dmatest_done.
> > It refers to test_done in struct dmatest_thread, not done_wait.
> > 
> > Fixes: 6f6a23a213be ("dmaengine: dmatest: move callback wait ...")
> > Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>
> > ---
> >  drivers/dma/dmatest.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
> > index ec5f9d2bc820..906e85d6dedc 100644
> > --- a/drivers/dma/dmatest.c
> > +++ b/drivers/dma/dmatest.c
> > @@ -355,7 +355,7 @@ static void dmatest_callback(void *arg)
> >  {
> >  	struct dmatest_done *done = arg;
> >  	struct dmatest_thread *thread =
> > -		container_of(arg, struct dmatest_thread,
> > done_wait);
> > +		container_of(arg, struct dmatest_thread,
> > test_done);
> >  	if (!thread->done) {
> >  		done->done = true;
> >  		wake_up_all(done->wait);
> > 
> Thanks for the catch
> 
> Acked-by: Adam Wallis <awallis@codeaurora.org>

Thanks!

Shunyong

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

* Re: [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback
  2018-01-24  1:47   ` Yang, Shunyong
@ 2018-01-24 18:34     ` Adam Wallis
  0 siblings, 0 replies; 8+ messages in thread
From: Adam Wallis @ 2018-01-24 18:34 UTC (permalink / raw)
  To: Yang, Shunyong, vinod.koul
  Cc: dan.j.williams, dmaengine, linux-kernel, Zheng, Joey, okaya,
	graham.moore

Vinod,

On 1/23/2018 8:47 PM, Yang, Shunyong wrote:
> Hi, Adam
> 
> On Tue, 2018-01-23 at 09:32 -0500, Adam Wallis wrote:
>> On 1/22/2018 2:28 AM, Yang Shunyong wrote:
>>>
>>> The type of arg passed to dmatest_callback is struct dmatest_done.
>>> It refers to test_done in struct dmatest_thread, not done_wait.
>>>
>>> Fixes: 6f6a23a213be ("dmaengine: dmatest: move callback wait ...")
>>> Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>
[..]
>>>
>> Thanks for the catch
>>
>> Acked-by: Adam Wallis <awallis@codeaurora.org>
> 
> Thanks!
> 
> Shunyong
> 

Can we get this fix into the 4.16 kernel? This is an important fix.

Thanks

Adam

-- 
Adam Wallis
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

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

* Re: [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback
  2018-01-22  7:28 [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback Yang Shunyong
  2018-01-23 14:32 ` Adam Wallis
@ 2018-01-29  4:45 ` Vinod Koul
  2018-01-29  6:21   ` Yang, Shunyong
  1 sibling, 1 reply; 8+ messages in thread
From: Vinod Koul @ 2018-01-29  4:45 UTC (permalink / raw)
  To: Yang Shunyong; +Cc: dan.j.williams, awallis, yu.zheng, dmaengine, linux-kernel

On Mon, Jan 22, 2018 at 03:28:28PM +0800, Yang Shunyong wrote:
> The type of arg passed to dmatest_callback is struct dmatest_done.
> It refers to test_done in struct dmatest_thread, not done_wait.
> 
> Fixes: 6f6a23a213be ("dmaengine: dmatest: move callback wait ...")
> Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>
> ---
>  drivers/dma/dmatest.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
> index ec5f9d2bc820..906e85d6dedc 100644
> --- a/drivers/dma/dmatest.c
> +++ b/drivers/dma/dmatest.c
> @@ -355,7 +355,7 @@ static void dmatest_callback(void *arg)
>  {
>  	struct dmatest_done *done = arg;
>  	struct dmatest_thread *thread =
> -		container_of(arg, struct dmatest_thread, done_wait);
> +		container_of(arg, struct dmatest_thread, test_done);

This fixes it but one of the reason why compilers didn't catch this
was the void arg. I just tested and used 'done' as the argument here
rather than 'arg' and compiler was quick to point out the error.

So a better fix IMO would be:

-- >8 --

diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
index ec5f9d2bc820..80cc2be6483c 100644
--- a/drivers/dma/dmatest.c
+++ b/drivers/dma/dmatest.c
@@ -355,7 +355,7 @@ static void dmatest_callback(void *arg)
 {
        struct dmatest_done *done = arg;
        struct dmatest_thread *thread =
-               container_of(arg, struct dmatest_thread, done_wait);
+               container_of(done, struct dmatest_thread, test_done);
        if (!thread->done) {
                done->done = true;
                wake_up_all(done->wait);

-- 
~Vinod

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

* Re: [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback
  2018-01-29  4:45 ` Vinod Koul
@ 2018-01-29  6:21   ` Yang, Shunyong
  0 siblings, 0 replies; 8+ messages in thread
From: Yang, Shunyong @ 2018-01-29  6:21 UTC (permalink / raw)
  To: vinod.koul; +Cc: dan.j.williams, dmaengine, linux-kernel, awallis, Zheng, Joey

Hi, Vinod,

On Mon, 2018-01-29 at 10:15 +0530, Vinod Koul wrote:
> On Mon, Jan 22, 2018 at 03:28:28PM +0800, Yang Shunyong wrote:
> > 
> > The type of arg passed to dmatest_callback is struct dmatest_done.
> > It refers to test_done in struct dmatest_thread, not done_wait.
> > 
> > Fixes: 6f6a23a213be ("dmaengine: dmatest: move callback wait ...")
> > Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>
> > ---
> >  drivers/dma/dmatest.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
> > index ec5f9d2bc820..906e85d6dedc 100644
> > --- a/drivers/dma/dmatest.c
> > +++ b/drivers/dma/dmatest.c
> > @@ -355,7 +355,7 @@ static void dmatest_callback(void *arg)
> >  {
> >  	struct dmatest_done *done = arg;
> >  	struct dmatest_thread *thread =
> > -		container_of(arg, struct dmatest_thread,
> > done_wait);
> > +		container_of(arg, struct dmatest_thread,
> > test_done);
> This fixes it but one of the reason why compilers didn't catch this
> was the void arg. I just tested and used 'done' as the argument here
> rather than 'arg' and compiler was quick to point out the error.
> 
> So a better fix IMO would be:
> 
> -- >8 --
> 
> diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
> index ec5f9d2bc820..80cc2be6483c 100644
> --- a/drivers/dma/dmatest.c
> +++ b/drivers/dma/dmatest.c
> @@ -355,7 +355,7 @@ static void dmatest_callback(void *arg)
>  {
>         struct dmatest_done *done = arg;
>         struct dmatest_thread *thread =
> -               container_of(arg, struct dmatest_thread, done_wait);
> +               container_of(done, struct dmatest_thread, test_done);
>         if (!thread->done) {
>                 done->done = true;
>                 wake_up_all(done->wait);
> 

Thanks. I will send out v2 patch soon.

Shunyong

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

* RE: [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback
  2018-01-23 14:32 ` Adam Wallis
  2018-01-24  1:47   ` Yang, Shunyong
@ 2018-02-11  9:28   ` Wen He
  2018-02-13  5:54     ` Yang, Shunyong
  1 sibling, 1 reply; 8+ messages in thread
From: Wen He @ 2018-02-11  9:28 UTC (permalink / raw)
  To: Adam Wallis, Yang Shunyong, vinod.koul
  Cc: dan.j.williams, yu.zheng, dmaengine, linux-kernel, Graham Moore,
	okaya@codeaurora.org >> Sinan Kaya


Thanks for you, Shunyong.

Best Regards,
Wen He

> -----Original Message-----
> From: dmaengine-owner@vger.kernel.org
> [mailto:dmaengine-owner@vger.kernel.org] On Behalf Of Adam Wallis
> Sent: 2018年1月23日 22:32
> To: Yang Shunyong <shunyong.yang@hxt-semitech.com>;
> vinod.koul@intel.com
> Cc: dan.j.williams@intel.com; yu.zheng@hxt-semitech.com;
> dmaengine@vger.kernel.org; linux-kernel@vger.kernel.org; Graham Moore
> <graham.moore@linux.intel.com>; okaya@codeaurora.org >> Sinan Kaya
> <okaya@codeaurora.org>
> Subject: Re: [PATCH] dmaengine: dmatest: fix container_of member in
> dmatest_callback
> 
> On 1/22/2018 2:28 AM, Yang Shunyong wrote:
> > The type of arg passed to dmatest_callback is struct dmatest_done.
> > It refers to test_done in struct dmatest_thread, not done_wait.
> >
> > Fixes: 6f6a23a213be ("dmaengine: dmatest: move callback wait ...")
> > Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>
> > ---
> >  drivers/dma/dmatest.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c index
> > ec5f9d2bc820..906e85d6dedc 100644
> > --- a/drivers/dma/dmatest.c
> > +++ b/drivers/dma/dmatest.c
> > @@ -355,7 +355,7 @@ static void dmatest_callback(void *arg)  {
> >  	struct dmatest_done *done = arg;
> >  	struct dmatest_thread *thread =
> > -		container_of(arg, struct dmatest_thread, done_wait);
> > +		container_of(arg, struct dmatest_thread, test_done);
> >  	if (!thread->done) {
> >  		done->done = true;
> >  		wake_up_all(done->wait);
> >
> Thanks for the catch
> 
> Acked-by: Adam Wallis <awallis@codeaurora.org>
> --
> Adam Wallis
> Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies,
> Inc.
> Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux
> Foundation Collaborative Project.
> --
> To unsubscribe from this list: send the line "unsubscribe dmaengine" in the
> body of a message to majordomo@vger.kernel.org More majordomo info at
> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fvger.
> kernel.org%2Fmajordomo-info.html&data=02%7C01%7Cwen.he_1%40nxp.co
> m%7C88161568a7fd4349149b08d5626e1661%7C686ea1d3bc2b4c6fa92cd9
> 9c5c301635%7C0%7C0%7C636523147354196622&sdata=txItgvD3P%2FrQq
> MSmpZlTY1rA1yUeWxMHTlELO5vwy84%3D&reserved=0

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

* Re: [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback
  2018-02-11  9:28   ` Wen He
@ 2018-02-13  5:54     ` Yang, Shunyong
  0 siblings, 0 replies; 8+ messages in thread
From: Yang, Shunyong @ 2018-02-13  5:54 UTC (permalink / raw)
  To: wen.he_1, awallis, vinod.koul
  Cc: dan.j.williams, dmaengine, linux-kernel, Zheng, Joey, okaya,
	graham.moore

Hi, Wen

You're welcome. That's why call this COMMUNITY! :-)

Shunyong.
Thanks.

On Sun, 2018-02-11 at 09:28 +0000, Wen He wrote:
> Thanks for you, Shunyong.
> 
> Best Regards,
> Wen He
> 
> > 
> > -----Original Message-----
> > From: dmaengine-owner@vger.kernel.org
> > [mailto:dmaengine-owner@vger.kernel.org] On Behalf Of Adam Wallis
> > Sent: 2018年1月23日 22:32
> > To: Yang Shunyong <shunyong.yang@hxt-semitech.com>;
> > vinod.koul@intel.com
> > Cc: dan.j.williams@intel.com; yu.zheng@hxt-semitech.com;
> > dmaengine@vger.kernel.org; linux-kernel@vger.kernel.org; Graham
> > Moore
> > <graham.moore@linux.intel.com>; okaya@codeaurora.org >> Sinan Kaya
> > <okaya@codeaurora.org>
> > Subject: Re: [PATCH] dmaengine: dmatest: fix container_of member in
> > dmatest_callback
> > 
> > On 1/22/2018 2:28 AM, Yang Shunyong wrote:
> > > 
> > > The type of arg passed to dmatest_callback is struct
> > > dmatest_done.
> > > It refers to test_done in struct dmatest_thread, not done_wait.
> > > 
> > > Fixes: 6f6a23a213be ("dmaengine: dmatest: move callback wait
> > > ...")
> > > Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>
> > > ---
> > >  drivers/dma/dmatest.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c index
> > > ec5f9d2bc820..906e85d6dedc 100644
> > > --- a/drivers/dma/dmatest.c
> > > +++ b/drivers/dma/dmatest.c
> > > @@ -355,7 +355,7 @@ static void dmatest_callback(void *arg)  {
> > >  	struct dmatest_done *done = arg;
> > >  	struct dmatest_thread *thread =
> > > -		container_of(arg, struct dmatest_thread,
> > > done_wait);
> > > +		container_of(arg, struct dmatest_thread,
> > > test_done);
> > >  	if (!thread->done) {
> > >  		done->done = true;
> > >  		wake_up_all(done->wait);
> > > 
> > Thanks for the catch
> > 
> > Acked-by: Adam Wallis <awallis@codeaurora.org>
> > --
> > Adam Wallis
> > Qualcomm Datacenter Technologies as an affiliate of Qualcomm
> > Technologies,
> > Inc.
> > Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a
> > Linux
> > Foundation Collaborative Project.
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> > dmaengine" in the
> > body of a message to majordomo@vger.kernel.org More majordomo info
> > at
> > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fv
> > ger.
> > kernel.org%2Fmajordomo-info.html&data=02%7C01%7Cwen.he_1%40nxp.co
> > m%7C88161568a7fd4349149b08d5626e1661%7C686ea1d3bc2b4c6fa92cd9
> > 9c5c301635%7C0%7C0%7C636523147354196622&sdata=txItgvD3P%2FrQq
> > MSmpZlTY1rA1yUeWxMHTlELO5vwy84%3D&reserved=0

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

end of thread, other threads:[~2018-02-13  5:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-22  7:28 [PATCH] dmaengine: dmatest: fix container_of member in dmatest_callback Yang Shunyong
2018-01-23 14:32 ` Adam Wallis
2018-01-24  1:47   ` Yang, Shunyong
2018-01-24 18:34     ` Adam Wallis
2018-02-11  9:28   ` Wen He
2018-02-13  5:54     ` Yang, Shunyong
2018-01-29  4:45 ` Vinod Koul
2018-01-29  6:21   ` Yang, Shunyong

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).