FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Kernel

 
 
LinkBack Thread Tools
 
Old 08-19-2012, 09:24 PM
Ben Hutchings
 
Default Bug#684441: rc: ite-cir: Initialise ite_dev::rdev earlier

ite_dev::rdev is currently initialised in ite_probe() after
rc_register_device() returns. If a newly registered device is opened
quickly enough, we may enable interrupts and try to use ite_dev::rdev
before it has been initialised. Move it up to the earliest point we
can, right after calling rc_allocate_device().

References: http://bugs.debian.org/684441
Reported-and-tested-by: YunQiang Su <wzssyqa@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: stable@vger.kernel.org
---
drivers/media/rc/ite-cir.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
index 0e49c99..c06992e 100644
--- a/drivers/media/rc/ite-cir.c
+++ b/drivers/media/rc/ite-cir.c
@@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
rdev = rc_allocate_device();
if (!rdev)
goto failure;
+ itdev->rdev = rdev;

ret = -ENODEV;

@@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
if (ret)
goto failure;

- itdev->rdev = rdev;
ite_pr(KERN_NOTICE, "driver has been successfully loaded
");

return 0;
 
Old 08-19-2012, 11:32 PM
Ben Hutchings
 
Default Bug#684441: rc: ite-cir: Initialise ite_dev::rdev earlier

ite_dev::rdev is currently initialised in ite_probe() after
rc_register_device() returns. If a newly registered device is opened
quickly enough, we may enable interrupts and try to use ite_dev::rdev
before it has been initialised. Move it up to the earliest point we
can, right after calling rc_allocate_device().

References: http://bugs.debian.org/684441
Reported-and-tested-by: YunQiang Su <wzssyqa@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: stable@vger.kernel.org
---
Unlike the previous version, this will apply cleanly to the media
staging/for_v3.6 branch.

Ben.

drivers/media/rc/ite-cir.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
index 36fe5a3..24c77a4 100644
--- a/drivers/media/rc/ite-cir.c
+++ b/drivers/media/rc/ite-cir.c
@@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
rdev = rc_allocate_device();
if (!rdev)
goto failure;
+ itdev->rdev = rdev;

ret = -ENODEV;

@@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
if (ret)
goto failure3;

- itdev->rdev = rdev;
ite_pr(KERN_NOTICE, "driver has been successfully loaded
");

return 0;
 
Old 08-28-2012, 01:37 AM
YunQiang Su
 
Default Bug#684441: rc: ite-cir: Initialise ite_dev::rdev earlier

Is it commit the the current 3.5 package in experimental?
I upgrade kernel from the version I build with this patch to the one
new coming to experimental.
And it panic again every morning, while the screens are not the same
between days.

On Mon, Aug 20, 2012 at 7:32 AM, Ben Hutchings <ben@decadent.org.uk> wrote:
> ite_dev::rdev is currently initialised in ite_probe() after
> rc_register_device() returns. If a newly registered device is opened
> quickly enough, we may enable interrupts and try to use ite_dev::rdev
> before it has been initialised. Move it up to the earliest point we
> can, right after calling rc_allocate_device().
>
> References: http://bugs.debian.org/684441
> Reported-and-tested-by: YunQiang Su <wzssyqa@gmail.com>
> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> Cc: stable@vger.kernel.org
> ---
> Unlike the previous version, this will apply cleanly to the media
> staging/for_v3.6 branch.
>
> Ben.
>
> drivers/media/rc/ite-cir.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
> index 36fe5a3..24c77a4 100644
> --- a/drivers/media/rc/ite-cir.c
> +++ b/drivers/media/rc/ite-cir.c
> @@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
> rdev = rc_allocate_device();
> if (!rdev)
> goto failure;
> + itdev->rdev = rdev;
>
> ret = -ENODEV;
>
> @@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
> if (ret)
> goto failure3;
>
> - itdev->rdev = rdev;
> ite_pr(KERN_NOTICE, "driver has been successfully loaded
");
>
> return 0;
>



--
YunQiang Su
 
Old 08-28-2012, 11:44 AM
Luis Henriques
 
Default Bug#684441: rc: ite-cir: Initialise ite_dev::rdev earlier

On Mon, Aug 20, 2012 at 12:32:27AM +0100, Ben Hutchings wrote:
> ite_dev::rdev is currently initialised in ite_probe() after
> rc_register_device() returns. If a newly registered device is opened
> quickly enough, we may enable interrupts and try to use ite_dev::rdev
> before it has been initialised. Move it up to the earliest point we
> can, right after calling rc_allocate_device().

I believe this is the same bug:

https://bugzilla.kernel.org/show_bug.cgi?id=46391

And the bug is present in other IR devices as well.

I've sent a proposed fix:

http://marc.info/?l=linux-kernel&m=134590803109050&w=2

Cheers,
--
Luis

>
> References: http://bugs.debian.org/684441 Reported-and-tested-by:
> YunQiang Su <wzssyqa@gmail.com> Signed-off-by: Ben Hutchings
> <ben@decadent.org.uk> Cc: stable@vger.kernel.org --- Unlike the
> previous version, this will apply cleanly to the media
> staging/for_v3.6 branch.
>
> Ben.
>
> drivers/media/rc/ite-cir.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
> index 36fe5a3..24c77a4 100644
> --- a/drivers/media/rc/ite-cir.c
> +++ b/drivers/media/rc/ite-cir.c
> @@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
> rdev = rc_allocate_device();
> if (!rdev)
> goto failure;
> + itdev->rdev = rdev;
>
> ret = -ENODEV;
>
> @@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
> if (ret)
> goto failure3;
>
> - itdev->rdev = rdev;
> ite_pr(KERN_NOTICE, "driver has been successfully loaded
");
>
> return 0;
>


--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20120828114409.GA3191@zeus
 
Old 08-28-2012, 05:09 PM
Ben Hutchings
 
Default Bug#684441: rc: ite-cir: Initialise ite_dev::rdev earlier

On Tue, 2012-08-28 at 12:44 +0100, Luis Henriques wrote:
> On Mon, Aug 20, 2012 at 12:32:27AM +0100, Ben Hutchings wrote:
> > ite_dev::rdev is currently initialised in ite_probe() after
> > rc_register_device() returns. If a newly registered device is opened
> > quickly enough, we may enable interrupts and try to use ite_dev::rdev
> > before it has been initialised. Move it up to the earliest point we
> > can, right after calling rc_allocate_device().
>
> I believe this is the same bug:
>
> https://bugzilla.kernel.org/show_bug.cgi?id=46391
>
> And the bug is present in other IR devices as well.
>
> I've sent a proposed fix:
>
> http://marc.info/?l=linux-kernel&m=134590803109050&w=2

It might be a worthwhile fix. But it doesn't fix this bug - after that
patch, the driver will still enable its IRQ before initialising
ite_dev::rdev.

Ben.

> Cheers,
> --
> Luis
>
> >
> > References: http://bugs.debian.org/684441 Reported-and-tested-by:
> > YunQiang Su <wzssyqa@gmail.com> Signed-off-by: Ben Hutchings
> > <ben@decadent.org.uk> Cc: stable@vger.kernel.org --- Unlike the
> > previous version, this will apply cleanly to the media
> > staging/for_v3.6 branch.
> >
> > Ben.
> >
> > drivers/media/rc/ite-cir.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
> > index 36fe5a3..24c77a4 100644
> > --- a/drivers/media/rc/ite-cir.c
> > +++ b/drivers/media/rc/ite-cir.c
> > @@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
> > rdev = rc_allocate_device();
> > if (!rdev)
> > goto failure;
> > + itdev->rdev = rdev;
> >
> > ret = -ENODEV;
> >
> > @@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
> > if (ret)
> > goto failure3;
> >
> > - itdev->rdev = rdev;
> > ite_pr(KERN_NOTICE, "driver has been successfully loaded
");
> >
> > return 0;
> >
>

--
Ben Hutchings
It is a miracle that curiosity survives formal education. - Albert Einstein
 
Old 08-28-2012, 08:48 PM
Luis Henriques
 
Default Bug#684441: rc: ite-cir: Initialise ite_dev::rdev earlier

On Tue, Aug 28, 2012 at 10:09:55AM -0700, Ben Hutchings wrote:
> On Tue, 2012-08-28 at 12:44 +0100, Luis Henriques wrote:
> > On Mon, Aug 20, 2012 at 12:32:27AM +0100, Ben Hutchings wrote:
> > > ite_dev::rdev is currently initialised in ite_probe() after
> > > rc_register_device() returns. If a newly registered device is opened
> > > quickly enough, we may enable interrupts and try to use ite_dev::rdev
> > > before it has been initialised. Move it up to the earliest point we
> > > can, right after calling rc_allocate_device().
> >
> > I believe this is the same bug:
> >
> > https://bugzilla.kernel.org/show_bug.cgi?id=46391
> >
> > And the bug is present in other IR devices as well.
> >
> > I've sent a proposed fix:
> >
> > http://marc.info/?l=linux-kernel&m=134590803109050&w=2
>
> It might be a worthwhile fix. But it doesn't fix this bug - after that
> patch, the driver will still enable its IRQ before initialising
> ite_dev::rdev.

You're absolutely right, sorry for the noise. I should have taken a
closer look at your patch.

Cheers,
--
Luis

>
> Ben.
>
> > Cheers,
> > --
> > Luis
> >
> > >
> > > References: http://bugs.debian.org/684441 Reported-and-tested-by:
> > > YunQiang Su <wzssyqa@gmail.com> Signed-off-by: Ben Hutchings
> > > <ben@decadent.org.uk> Cc: stable@vger.kernel.org --- Unlike the
> > > previous version, this will apply cleanly to the media
> > > staging/for_v3.6 branch.
> > >
> > > Ben.
> > >
> > > drivers/media/rc/ite-cir.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
> > > index 36fe5a3..24c77a4 100644
> > > --- a/drivers/media/rc/ite-cir.c
> > > +++ b/drivers/media/rc/ite-cir.c
> > > @@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
> > > rdev = rc_allocate_device();
> > > if (!rdev)
> > > goto failure;
> > > + itdev->rdev = rdev;
> > >
> > > ret = -ENODEV;
> > >
> > > @@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
> > > if (ret)
> > > goto failure3;
> > >
> > > - itdev->rdev = rdev;
> > > ite_pr(KERN_NOTICE, "driver has been successfully loaded
");
> > >
> > > return 0;
> > >
> >
>
> --
> Ben Hutchings
> It is a miracle that curiosity survives formal education. - Albert Einstein


--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/20120828204823.GE3191@zeus
 
Old 09-16-2012, 04:56 AM
YunQiang Su
 
Default Bug#684441: rc: ite-cir: Initialise ite_dev::rdev earlier

I upgrade my system yesterday, and this morning, it panic always, even
I boot another system
first and reboot.

Both the kernel in testing and experimental have this problem.

On Wed, Aug 29, 2012 at 4:48 AM, Luis Henriques
<luis.henriques@canonical.com> wrote:
> On Tue, Aug 28, 2012 at 10:09:55AM -0700, Ben Hutchings wrote:
>> On Tue, 2012-08-28 at 12:44 +0100, Luis Henriques wrote:
>> > On Mon, Aug 20, 2012 at 12:32:27AM +0100, Ben Hutchings wrote:
>> > > ite_dev::rdev is currently initialised in ite_probe() after
>> > > rc_register_device() returns. If a newly registered device is opened
>> > > quickly enough, we may enable interrupts and try to use ite_dev::rdev
>> > > before it has been initialised. Move it up to the earliest point we
>> > > can, right after calling rc_allocate_device().
>> >
>> > I believe this is the same bug:
>> >
>> > https://bugzilla.kernel.org/show_bug.cgi?id=46391
>> >
>> > And the bug is present in other IR devices as well.
>> >
>> > I've sent a proposed fix:
>> >
>> > http://marc.info/?l=linux-kernel&m=134590803109050&w=2
>>
>> It might be a worthwhile fix. But it doesn't fix this bug - after that
>> patch, the driver will still enable its IRQ before initialising
>> ite_dev::rdev.
>
> You're absolutely right, sorry for the noise. I should have taken a
> closer look at your patch.
>
> Cheers,
> --
> Luis
>
>>
>> Ben.
>>
>> > Cheers,
>> > --
>> > Luis
>> >
>> > >
>> > > References: http://bugs.debian.org/684441 Reported-and-tested-by:
>> > > YunQiang Su <wzssyqa@gmail.com> Signed-off-by: Ben Hutchings
>> > > <ben@decadent.org.uk> Cc: stable@vger.kernel.org --- Unlike the
>> > > previous version, this will apply cleanly to the media
>> > > staging/for_v3.6 branch.
>> > >
>> > > Ben.
>> > >
>> > > drivers/media/rc/ite-cir.c | 2 +-
>> > > 1 file changed, 1 insertion(+), 1 deletion(-)
>> > >
>> > > diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
>> > > index 36fe5a3..24c77a4 100644
>> > > --- a/drivers/media/rc/ite-cir.c
>> > > +++ b/drivers/media/rc/ite-cir.c
>> > > @@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
>> > > rdev = rc_allocate_device();
>> > > if (!rdev)
>> > > goto failure;
>> > > + itdev->rdev = rdev;
>> > >
>> > > ret = -ENODEV;
>> > >
>> > > @@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
>> > > if (ret)
>> > > goto failure3;
>> > >
>> > > - itdev->rdev = rdev;
>> > > ite_pr(KERN_NOTICE, "driver has been successfully loaded
");
>> > >
>> > > return 0;
>> > >
>> >
>>
>> --
>> Ben Hutchings
>> It is a miracle that curiosity survives formal education. - Albert Einstein



--
YunQiang Su


--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: CAKcpw6WvCM99-VzqOOFYiB7ggKNp57coRB6E5f3ep2218C1zOQ@mail.gmail.c om">http://lists.debian.org/CAKcpw6WvCM99-VzqOOFYiB7ggKNp57coRB6E5f3ep2218C1zOQ@mail.gmail.c om
 
Old 09-16-2012, 05:15 AM
Ben Hutchings
 
Default Bug#684441: rc: ite-cir: Initialise ite_dev::rdev earlier

On Sun, 2012-09-16 at 12:56 +0800, YunQiang Su wrote:
> I upgrade my system yesterday, and this morning, it panic always, even
> I boot another system
> first and reboot.
>
> Both the kernel in testing and experimental have this problem.
[...]

I haven't uploaded a fixed package yet.

Ben.

--
Ben Hutchings
Experience is what causes a person to make new mistakes instead of old ones.
 
Old 09-16-2012, 07:11 AM
YunQiang Su
 
Default Bug#684441: rc: ite-cir: Initialise ite_dev::rdev earlier

I see, it only once a day, and now it failed every time and cannot boot at all.
I have not idea whether it caused by another changes.

On Sun, Sep 16, 2012 at 1:15 PM, Ben Hutchings <ben@decadent.org.uk> wrote:
> On Sun, 2012-09-16 at 12:56 +0800, YunQiang Su wrote:
>> I upgrade my system yesterday, and this morning, it panic always, even
>> I boot another system
>> first and reboot.
>>
>> Both the kernel in testing and experimental have this problem.
> [...]
>
> I haven't uploaded a fixed package yet.
>
> Ben.
>
> --
> Ben Hutchings
> Experience is what causes a person to make new mistakes instead of old ones.



--
YunQiang Su


--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: http://lists.debian.org/CAKcpw6WiGvbycePghgM3sSaQVJydMmO_Vb7R=LRMa3cyeqP10 Q@mail.gmail.com
 

Thread Tools




All times are GMT. The time now is 08:04 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org