diff mbox series

gpu: host1x: fix uninitialized variable use

Message ID 20230127221418.2522612-1-arnd@kernel.org
State Accepted
Headers show
Series gpu: host1x: fix uninitialized variable use | expand

Commit Message

Arnd Bergmann Jan. 27, 2023, 10:14 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

The error handling for platform_get_irq() failing no longer
works after a recent change, clang now points this out with
a warning:

drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
        if (syncpt_irq < 0)
            ^~~~~~~~~~

Fix this by removing the variable and checking the correct
error status.

Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/host1x/dev.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Nathan Chancellor Jan. 27, 2023, 11:18 p.m. UTC | #1
On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The error handling for platform_get_irq() failing no longer
> works after a recent change, clang now points this out with
> a warning:
> 
> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
>         if (syncpt_irq < 0)
>             ^~~~~~~~~~
> 
> Fix this by removing the variable and checking the correct
> error status.
> 
> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

I had the same diff pending but civic duty called today :)

Reviewed-by: Nathan Chancellor <nathan@kernel.org>

> ---
>  drivers/gpu/host1x/dev.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> index 4872d183d860..aae2efeef503 100644
> --- a/drivers/gpu/host1x/dev.c
> +++ b/drivers/gpu/host1x/dev.c
> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
>  static int host1x_probe(struct platform_device *pdev)
>  {
>  	struct host1x *host;
> -	int syncpt_irq;
>  	int err;
>  
>  	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
>  	}
>  
>  	host->syncpt_irq = platform_get_irq(pdev, 0);
> -	if (syncpt_irq < 0)
> -		return syncpt_irq;
> +	if (host->syncpt_irq < 0)
> +		return host->syncpt_irq;
>  
>  	mutex_init(&host->devices_lock);
>  	INIT_LIST_HEAD(&host->devices);
> -- 
> 2.39.0
>
Mikko Perttunen Jan. 28, 2023, 8:12 a.m. UTC | #2
On 1/28/23 01:18, Nathan Chancellor wrote:
> On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> The error handling for platform_get_irq() failing no longer
>> works after a recent change, clang now points this out with
>> a warning:
>>
>> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
>>          if (syncpt_irq < 0)
>>              ^~~~~~~~~~
>>
>> Fix this by removing the variable and checking the correct
>> error status.
>>
>> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> I had the same diff pending but civic duty called today :)
> 
> Reviewed-by: Nathan Chancellor <nathan@kernel.org>
> 
>> ---
>>   drivers/gpu/host1x/dev.c | 5 ++---
>>   1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
>> index 4872d183d860..aae2efeef503 100644
>> --- a/drivers/gpu/host1x/dev.c
>> +++ b/drivers/gpu/host1x/dev.c
>> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
>>   static int host1x_probe(struct platform_device *pdev)
>>   {
>>   	struct host1x *host;
>> -	int syncpt_irq;
>>   	int err;
>>   
>>   	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
>> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
>>   	}
>>   
>>   	host->syncpt_irq = platform_get_irq(pdev, 0);
>> -	if (syncpt_irq < 0)
>> -		return syncpt_irq;
>> +	if (host->syncpt_irq < 0)
>> +		return host->syncpt_irq;
>>   
>>   	mutex_init(&host->devices_lock);
>>   	INIT_LIST_HEAD(&host->devices);
>> -- 
>> 2.39.0
>>

Thanks both for the fix :)

FWIW,

Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Nick Desaulniers Feb. 1, 2023, 11:19 p.m. UTC | #3
On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The error handling for platform_get_irq() failing no longer
> works after a recent change, clang now points this out with
> a warning:
> 
> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
>         if (syncpt_irq < 0)
>             ^~~~~~~~~~
> 
> Fix this by removing the variable and checking the correct
> error status.
> 
> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Thanks Arnd, I saw some reports from kernelci about this, too.
https://lore.kernel.org/linux-next/?q=warning%3A+variable+%27syncpt_irq%27+is+uninitialized+when+used+here

Reported-by: "kernelci.org bot" <bot@kernelci.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

> ---
>  drivers/gpu/host1x/dev.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> index 4872d183d860..aae2efeef503 100644
> --- a/drivers/gpu/host1x/dev.c
> +++ b/drivers/gpu/host1x/dev.c
> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
>  static int host1x_probe(struct platform_device *pdev)
>  {
>  	struct host1x *host;
> -	int syncpt_irq;
>  	int err;
>  
>  	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
>  	}
>  
>  	host->syncpt_irq = platform_get_irq(pdev, 0);
> -	if (syncpt_irq < 0)
> -		return syncpt_irq;
> +	if (host->syncpt_irq < 0)
> +		return host->syncpt_irq;
>  
>  	mutex_init(&host->devices_lock);
>  	INIT_LIST_HEAD(&host->devices);
> -- 
> 2.39.0
> 
>
Nathan Chancellor Feb. 23, 2023, 4:28 p.m. UTC | #4
Hi Thierry, Daniel, and David,

On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The error handling for platform_get_irq() failing no longer
> works after a recent change, clang now points this out with
> a warning:
> 
> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
>         if (syncpt_irq < 0)
>             ^~~~~~~~~~
> 
> Fix this by removing the variable and checking the correct
> error status.
> 
> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/gpu/host1x/dev.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> index 4872d183d860..aae2efeef503 100644
> --- a/drivers/gpu/host1x/dev.c
> +++ b/drivers/gpu/host1x/dev.c
> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
>  static int host1x_probe(struct platform_device *pdev)
>  {
>  	struct host1x *host;
> -	int syncpt_irq;
>  	int err;
>  
>  	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
>  	}
>  
>  	host->syncpt_irq = platform_get_irq(pdev, 0);
> -	if (syncpt_irq < 0)
> -		return syncpt_irq;
> +	if (host->syncpt_irq < 0)
> +		return host->syncpt_irq;
>  
>  	mutex_init(&host->devices_lock);
>  	INIT_LIST_HEAD(&host->devices);
> -- 
> 2.39.0
> 

Apologies if this has been reported already or has a solution in
progress but mainline is now broken because this change got separated
from the change it is fixing:

https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log

I see this change sitting in the drm-tegra tree [1], which is getting
merged into -next, so it is fixed there, which is why we did not notice
any issues until the drm-next tree was merged into mainline. Can this be
fast tracked to Linus to unbreak clang builds with -Werror?

[1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a

Cheers,
Nathan
Nathan Chancellor March 8, 2023, 4:56 p.m. UTC | #5
Ping? This warning is now in 6.3-rc1.

On Thu, Feb 23, 2023 at 09:28:28AM -0700, Nathan Chancellor wrote:
> Hi Thierry, Daniel, and David,
> 
> On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> > From: Arnd Bergmann <arnd@arndb.de>
> > 
> > The error handling for platform_get_irq() failing no longer
> > works after a recent change, clang now points this out with
> > a warning:
> > 
> > drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> >         if (syncpt_irq < 0)
> >             ^~~~~~~~~~
> > 
> > Fix this by removing the variable and checking the correct
> > error status.
> > 
> > Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > ---
> >  drivers/gpu/host1x/dev.c | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> > index 4872d183d860..aae2efeef503 100644
> > --- a/drivers/gpu/host1x/dev.c
> > +++ b/drivers/gpu/host1x/dev.c
> > @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
> >  static int host1x_probe(struct platform_device *pdev)
> >  {
> >  	struct host1x *host;
> > -	int syncpt_irq;
> >  	int err;
> >  
> >  	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> > @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
> >  	}
> >  
> >  	host->syncpt_irq = platform_get_irq(pdev, 0);
> > -	if (syncpt_irq < 0)
> > -		return syncpt_irq;
> > +	if (host->syncpt_irq < 0)
> > +		return host->syncpt_irq;
> >  
> >  	mutex_init(&host->devices_lock);
> >  	INIT_LIST_HEAD(&host->devices);
> > -- 
> > 2.39.0
> > 
> 
> Apologies if this has been reported already or has a solution in
> progress but mainline is now broken because this change got separated
> from the change it is fixing:
> 
> https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
> https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log
> 
> I see this change sitting in the drm-tegra tree [1], which is getting
> merged into -next, so it is fixed there, which is why we did not notice
> any issues until the drm-next tree was merged into mainline. Can this be
> fast tracked to Linus to unbreak clang builds with -Werror?
> 
> [1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a
Jon Hunter March 8, 2023, 5:28 p.m. UTC | #6
On 08/03/2023 16:56, Nathan Chancellor wrote:
> Ping? This warning is now in 6.3-rc1.

Thierry is away at the moment.

David, Daniel, do you want to pick this up directly in the meantime as a 
fix for 6.3? Mikko has already reviewed and FWIW ...

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>

Thanks
Jon


> On Thu, Feb 23, 2023 at 09:28:28AM -0700, Nathan Chancellor wrote:
>> Hi Thierry, Daniel, and David,
>>
>> On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
>>> From: Arnd Bergmann <arnd@arndb.de>
>>>
>>> The error handling for platform_get_irq() failing no longer
>>> works after a recent change, clang now points this out with
>>> a warning:
>>>
>>> drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
>>>          if (syncpt_irq < 0)
>>>              ^~~~~~~~~~
>>>
>>> Fix this by removing the variable and checking the correct
>>> error status.
>>>
>>> Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>> ---
>>>   drivers/gpu/host1x/dev.c | 5 ++---
>>>   1 file changed, 2 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
>>> index 4872d183d860..aae2efeef503 100644
>>> --- a/drivers/gpu/host1x/dev.c
>>> +++ b/drivers/gpu/host1x/dev.c
>>> @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
>>>   static int host1x_probe(struct platform_device *pdev)
>>>   {
>>>   	struct host1x *host;
>>> -	int syncpt_irq;
>>>   	int err;
>>>   
>>>   	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
>>> @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
>>>   	}
>>>   
>>>   	host->syncpt_irq = platform_get_irq(pdev, 0);
>>> -	if (syncpt_irq < 0)
>>> -		return syncpt_irq;
>>> +	if (host->syncpt_irq < 0)
>>> +		return host->syncpt_irq;
>>>   
>>>   	mutex_init(&host->devices_lock);
>>>   	INIT_LIST_HEAD(&host->devices);
>>> -- 
>>> 2.39.0
>>>
>>
>> Apologies if this has been reported already or has a solution in
>> progress but mainline is now broken because this change got separated
>> from the change it is fixing:
>>
>> https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
>> https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log
>>
>> I see this change sitting in the drm-tegra tree [1], which is getting
>> merged into -next, so it is fixed there, which is why we did not notice
>> any issues until the drm-next tree was merged into mainline. Can this be
>> fast tracked to Linus to unbreak clang builds with -Werror?
>>
>> [1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a
Daniel Vetter March 24, 2023, 9:46 a.m. UTC | #7
On Wed, Mar 08, 2023 at 05:28:06PM +0000, Jon Hunter wrote:
> 
> 
> On 08/03/2023 16:56, Nathan Chancellor wrote:
> > Ping? This warning is now in 6.3-rc1.
> 
> Thierry is away at the moment.
> 
> David, Daniel, do you want to pick this up directly in the meantime as a fix
> for 6.3? Mikko has already reviewed and FWIW ...

Generally first fallback should be drm-misc maintainers (or anyone else
with commit rights), but since this fell through cracks for weeks it seems
I'll pick it up to drm-fixes now directly.
-Daniel

> 
> Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
> 
> Thanks
> Jon
> 
> 
> > On Thu, Feb 23, 2023 at 09:28:28AM -0700, Nathan Chancellor wrote:
> > > Hi Thierry, Daniel, and David,
> > > 
> > > On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> > > > From: Arnd Bergmann <arnd@arndb.de>
> > > > 
> > > > The error handling for platform_get_irq() failing no longer
> > > > works after a recent change, clang now points this out with
> > > > a warning:
> > > > 
> > > > drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> > > >          if (syncpt_irq < 0)
> > > >              ^~~~~~~~~~
> > > > 
> > > > Fix this by removing the variable and checking the correct
> > > > error status.
> > > > 
> > > > Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> > > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > > > ---
> > > >   drivers/gpu/host1x/dev.c | 5 ++---
> > > >   1 file changed, 2 insertions(+), 3 deletions(-)
> > > > 
> > > > diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> > > > index 4872d183d860..aae2efeef503 100644
> > > > --- a/drivers/gpu/host1x/dev.c
> > > > +++ b/drivers/gpu/host1x/dev.c
> > > > @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
> > > >   static int host1x_probe(struct platform_device *pdev)
> > > >   {
> > > >   	struct host1x *host;
> > > > -	int syncpt_irq;
> > > >   	int err;
> > > >   	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> > > > @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
> > > >   	}
> > > >   	host->syncpt_irq = platform_get_irq(pdev, 0);
> > > > -	if (syncpt_irq < 0)
> > > > -		return syncpt_irq;
> > > > +	if (host->syncpt_irq < 0)
> > > > +		return host->syncpt_irq;
> > > >   	mutex_init(&host->devices_lock);
> > > >   	INIT_LIST_HEAD(&host->devices);
> > > > -- 
> > > > 2.39.0
> > > > 
> > > 
> > > Apologies if this has been reported already or has a solution in
> > > progress but mainline is now broken because this change got separated
> > > from the change it is fixing:
> > > 
> > > https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
> > > https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log
> > > 
> > > I see this change sitting in the drm-tegra tree [1], which is getting
> > > merged into -next, so it is fixed there, which is why we did not notice
> > > any issues until the drm-next tree was merged into mainline. Can this be
> > > fast tracked to Linus to unbreak clang builds with -Werror?
> > > 
> > > [1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a
> 
> -- 
> nvpublic
Daniel Vetter March 24, 2023, 9:59 a.m. UTC | #8
On Fri, 24 Mar 2023 at 10:46, Daniel Vetter <daniel@ffwll.ch> wrote:
>
> On Wed, Mar 08, 2023 at 05:28:06PM +0000, Jon Hunter wrote:
> >
> >
> > On 08/03/2023 16:56, Nathan Chancellor wrote:
> > > Ping? This warning is now in 6.3-rc1.
> >
> > Thierry is away at the moment.
> >
> > David, Daniel, do you want to pick this up directly in the meantime as a fix
> > for 6.3? Mikko has already reviewed and FWIW ...
>
> Generally first fallback should be drm-misc maintainers (or anyone else
> with commit rights), but since this fell through cracks for weeks it seems
> I'll pick it up to drm-fixes now directly.

Ok I think I found out why this fell through cracks, MAINTAINERS isn't
updated that host1x&tegra is maintained in drm-misc.

John, since Thierry is out, can you pls create the MAINTAINERS patch to
- point at drm-misc git repo everywhere needed
- add any missing host1x paths to the drm-misc entry so that
get_maintainers.pl adds the right people for this patch (currently it
doesn't)

Also should we have at least a 2nd person for tegra stuff (or well
maybe nvidia stuff in general) for drm-misc? Currently it's just
Thierry, and I don't think that's enough. Whomever gets volunteered
please follow

https://drm.pages.freedesktop.org/maintainer-tools/commit-access.html#drm-misc

Thanks, Daniel


>
> >
> > Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
> >
> > Thanks
> > Jon
> >
> >
> > > On Thu, Feb 23, 2023 at 09:28:28AM -0700, Nathan Chancellor wrote:
> > > > Hi Thierry, Daniel, and David,
> > > >
> > > > On Fri, Jan 27, 2023 at 11:14:00PM +0100, Arnd Bergmann wrote:
> > > > > From: Arnd Bergmann <arnd@arndb.de>
> > > > >
> > > > > The error handling for platform_get_irq() failing no longer
> > > > > works after a recent change, clang now points this out with
> > > > > a warning:
> > > > >
> > > > > drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> > > > >          if (syncpt_irq < 0)
> > > > >              ^~~~~~~~~~
> > > > >
> > > > > Fix this by removing the variable and checking the correct
> > > > > error status.
> > > > >
> > > > > Fixes: 625d4ffb438c ("gpu: host1x: Rewrite syncpoint interrupt handling")
> > > > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > > > > ---
> > > > >   drivers/gpu/host1x/dev.c | 5 ++---
> > > > >   1 file changed, 2 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
> > > > > index 4872d183d860..aae2efeef503 100644
> > > > > --- a/drivers/gpu/host1x/dev.c
> > > > > +++ b/drivers/gpu/host1x/dev.c
> > > > > @@ -487,7 +487,6 @@ static int host1x_get_resets(struct host1x *host)
> > > > >   static int host1x_probe(struct platform_device *pdev)
> > > > >   {
> > > > >         struct host1x *host;
> > > > > -       int syncpt_irq;
> > > > >         int err;
> > > > >         host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
> > > > > @@ -517,8 +516,8 @@ static int host1x_probe(struct platform_device *pdev)
> > > > >         }
> > > > >         host->syncpt_irq = platform_get_irq(pdev, 0);
> > > > > -       if (syncpt_irq < 0)
> > > > > -               return syncpt_irq;
> > > > > +       if (host->syncpt_irq < 0)
> > > > > +               return host->syncpt_irq;
> > > > >         mutex_init(&host->devices_lock);
> > > > >         INIT_LIST_HEAD(&host->devices);
> > > > > --
> > > > > 2.39.0
> > > > >
> > > >
> > > > Apologies if this has been reported already or has a solution in
> > > > progress but mainline is now broken because this change got separated
> > > > from the change it is fixing:
> > > >
> > > > https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/4249931209/jobs/7391912774
> > > > https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2M7y9HpiXB13qiC2mkHMyeZOcLW/build.log
> > > >
> > > > I see this change sitting in the drm-tegra tree [1], which is getting
> > > > merged into -next, so it is fixed there, which is why we did not notice
> > > > any issues until the drm-next tree was merged into mainline. Can this be
> > > > fast tracked to Linus to unbreak clang builds with -Werror?
> > > >
> > > > [1]: https://gitlab.freedesktop.org/drm/tegra/-/commit/b9930311641cf2ed905a84aabe27e8f3868aee4a
> >
> > --
> > nvpublic
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
Thierry Reding March 24, 2023, 10:38 a.m. UTC | #9
On Fri, Mar 24, 2023 at 10:59:23AM +0100, Daniel Vetter wrote:
> On Fri, 24 Mar 2023 at 10:46, Daniel Vetter <daniel@ffwll.ch> wrote:
> >
> > On Wed, Mar 08, 2023 at 05:28:06PM +0000, Jon Hunter wrote:
> > >
> > >
> > > On 08/03/2023 16:56, Nathan Chancellor wrote:
> > > > Ping? This warning is now in 6.3-rc1.
> > >
> > > Thierry is away at the moment.
> > >
> > > David, Daniel, do you want to pick this up directly in the meantime as a fix
> > > for 6.3? Mikko has already reviewed and FWIW ...
> >
> > Generally first fallback should be drm-misc maintainers (or anyone else
> > with commit rights), but since this fell through cracks for weeks it seems
> > I'll pick it up to drm-fixes now directly.
> 
> Ok I think I found out why this fell through cracks, MAINTAINERS isn't
> updated that host1x&tegra is maintained in drm-misc.
> 
> John, since Thierry is out, can you pls create the MAINTAINERS patch to
> - point at drm-misc git repo everywhere needed
> - add any missing host1x paths to the drm-misc entry so that
> get_maintainers.pl adds the right people for this patch (currently it
> doesn't)
> 
> Also should we have at least a 2nd person for tegra stuff (or well
> maybe nvidia stuff in general) for drm-misc? Currently it's just
> Thierry, and I don't think that's enough. Whomever gets volunteered
> please follow
> 
> https://drm.pages.freedesktop.org/maintainer-tools/commit-access.html#drm-misc

We never actually moved host1x and Tegra DRM to drm-misc completely.
There's still a separate tree that feeds into linux-next. This made
sense a while ago because there was a lot going on, but development
speed has decreased recently, so we may want to fix that. The big
benefit is that drm-misc is better oiled than drm-tegra, so getting
things merged would be easier for everyone.

I'm all in favor of adding a second Tegra person to take pick up the
slack when necessary.

Thierry
Daniel Vetter March 24, 2023, 10:50 a.m. UTC | #10
On Fri, 24 Mar 2023 at 11:38, Thierry Reding <thierry.reding@gmail.com> wrote:
>
> On Fri, Mar 24, 2023 at 10:59:23AM +0100, Daniel Vetter wrote:
> > On Fri, 24 Mar 2023 at 10:46, Daniel Vetter <daniel@ffwll.ch> wrote:
> > >
> > > On Wed, Mar 08, 2023 at 05:28:06PM +0000, Jon Hunter wrote:
> > > >
> > > >
> > > > On 08/03/2023 16:56, Nathan Chancellor wrote:
> > > > > Ping? This warning is now in 6.3-rc1.
> > > >
> > > > Thierry is away at the moment.
> > > >
> > > > David, Daniel, do you want to pick this up directly in the meantime as a fix
> > > > for 6.3? Mikko has already reviewed and FWIW ...
> > >
> > > Generally first fallback should be drm-misc maintainers (or anyone else
> > > with commit rights), but since this fell through cracks for weeks it seems
> > > I'll pick it up to drm-fixes now directly.
> >
> > Ok I think I found out why this fell through cracks, MAINTAINERS isn't
> > updated that host1x&tegra is maintained in drm-misc.
> >
> > John, since Thierry is out, can you pls create the MAINTAINERS patch to
> > - point at drm-misc git repo everywhere needed
> > - add any missing host1x paths to the drm-misc entry so that
> > get_maintainers.pl adds the right people for this patch (currently it
> > doesn't)
> >
> > Also should we have at least a 2nd person for tegra stuff (or well
> > maybe nvidia stuff in general) for drm-misc? Currently it's just
> > Thierry, and I don't think that's enough. Whomever gets volunteered
> > please follow
> >
> > https://drm.pages.freedesktop.org/maintainer-tools/commit-access.html#drm-misc
>
> We never actually moved host1x and Tegra DRM to drm-misc completely.
> There's still a separate tree that feeds into linux-next. This made
> sense a while ago because there was a lot going on, but development
> speed has decreased recently, so we may want to fix that. The big
> benefit is that drm-misc is better oiled than drm-tegra, so getting
> things merged would be easier for everyone.

Hm I thought you had a split where you feed -fixes through misc and
features through tegra.git? Just listing both trees would cover that.

> I'm all in favor of adding a second Tegra person to take pick up the
> slack when necessary.

Imo features still through tegra.git with just you is fine, there's
not going to be anyone else (like ci farms) blocked if that's held up
for a bit. It's more the bugfixes where a 2nd nvidia person would be
great.
-Daniel
diff mbox series

Patch

diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
index 4872d183d860..aae2efeef503 100644
--- a/drivers/gpu/host1x/dev.c
+++ b/drivers/gpu/host1x/dev.c
@@ -487,7 +487,6 @@  static int host1x_get_resets(struct host1x *host)
 static int host1x_probe(struct platform_device *pdev)
 {
 	struct host1x *host;
-	int syncpt_irq;
 	int err;
 
 	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
@@ -517,8 +516,8 @@  static int host1x_probe(struct platform_device *pdev)
 	}
 
 	host->syncpt_irq = platform_get_irq(pdev, 0);
-	if (syncpt_irq < 0)
-		return syncpt_irq;
+	if (host->syncpt_irq < 0)
+		return host->syncpt_irq;
 
 	mutex_init(&host->devices_lock);
 	INIT_LIST_HEAD(&host->devices);