2010-11-16 20:21:37

by Nicolas Kaiser

[permalink] [raw]
Subject: [PATCH] drivers/media: nuvoton: always true expression

I noticed that the second part of this conditional is always true.
Would the intention be to strictly check on both chip_major and
chip_minor?

Signed-off-by: Nicolas Kaiser <[email protected]>
---
drivers/media/IR/nuvoton-cir.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/IR/nuvoton-cir.c b/drivers/media/IR/nuvoton-cir.c
index 301be53..896463b 100644
--- a/drivers/media/IR/nuvoton-cir.c
+++ b/drivers/media/IR/nuvoton-cir.c
@@ -249,8 +249,8 @@ static int nvt_hw_detect(struct nvt_dev *nvt)
chip_minor = nvt_cr_read(nvt, CR_CHIP_ID_LO);
nvt_dbg("%s: chip id: 0x%02x 0x%02x", chip_id, chip_major, chip_minor);

- if (chip_major != CHIP_ID_HIGH &&
- (chip_minor != CHIP_ID_LOW || chip_minor != CHIP_ID_LOW2))
+ if (chip_major != CHIP_ID_HIGH ||
+ (chip_minor != CHIP_ID_LOW && chip_minor != CHIP_ID_LOW2))
ret = -ENODEV;

nvt_efm_disable(nvt);
--
1.7.2.2


2010-11-16 21:54:19

by Jarod Wilson

[permalink] [raw]
Subject: Re: [PATCH] drivers/media: nuvoton: always true expression

On Tue, Nov 16, 2010 at 09:19:53PM +0100, Nicolas Kaiser wrote:
> I noticed that the second part of this conditional is always true.
> Would the intention be to strictly check on both chip_major and
> chip_minor?
>
> Signed-off-by: Nicolas Kaiser <[email protected]>

Hrm, yeah, looks like I screwed that one up. You're correct, the intention
was to make sure we have a matching chip id high and one or the other of
the chip id low values.

Acked-by: Jarod Wilson <[email protected]>

--
Jarod Wilson
[email protected]

2010-11-17 01:52:05

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH] drivers/media: nuvoton: always true expression

Em 16-11-2010 19:54, Jarod Wilson escreveu:
> On Tue, Nov 16, 2010 at 09:19:53PM +0100, Nicolas Kaiser wrote:
>> I noticed that the second part of this conditional is always true.
>> Would the intention be to strictly check on both chip_major and
>> chip_minor?
>>
>> Signed-off-by: Nicolas Kaiser <[email protected]>
>
> Hrm, yeah, looks like I screwed that one up. You're correct, the intention
> was to make sure we have a matching chip id high and one or the other of
> the chip id low values.
>
> Acked-by: Jarod Wilson <[email protected]>
>
I wander if it wouldn't be good to print something if the probe fails due to
the wrong chip ID. It may help if someone complain about a different
revision.

Mauro.

2010-11-17 10:37:54

by Nicolas Kaiser

[permalink] [raw]
Subject: [PATCH] drivers/media: nuvoton: fix chip id probe

Make sure we have a matching chip id high and one or the other
of the chip id low values.
Print the values if the probe fails.

Signed-off-by: Nicolas Kaiser <[email protected]>
---
Like this?
Supersedes patch "drivers/media: nuvoton: always true expression".

drivers/media/IR/nuvoton-cir.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/media/IR/nuvoton-cir.c b/drivers/media/IR/nuvoton-cir.c
index 301be53..92d32c8 100644
--- a/drivers/media/IR/nuvoton-cir.c
+++ b/drivers/media/IR/nuvoton-cir.c
@@ -249,9 +249,12 @@ static int nvt_hw_detect(struct nvt_dev *nvt)
chip_minor = nvt_cr_read(nvt, CR_CHIP_ID_LO);
nvt_dbg("%s: chip id: 0x%02x 0x%02x", chip_id, chip_major, chip_minor);

- if (chip_major != CHIP_ID_HIGH &&
- (chip_minor != CHIP_ID_LOW || chip_minor != CHIP_ID_LOW2))
+ if (chip_major != CHIP_ID_HIGH ||
+ (chip_minor != CHIP_ID_LOW && chip_minor != CHIP_ID_LOW2)) {
+ nvt_pr(KERN_ERR, "%s: chip id mismatch: 0x%02x 0x%02x",
+ chip_id, chip_major, chip_minor);
ret = -ENODEV;
+ }

nvt_efm_disable(nvt);

--
1.7.2.2

2010-11-19 19:16:54

by Jarod Wilson

[permalink] [raw]
Subject: Re: [PATCH] drivers/media: nuvoton: fix chip id probe

On Wed, Nov 17, 2010 at 11:35:25AM +0100, Nicolas Kaiser wrote:
> Make sure we have a matching chip id high and one or the other
> of the chip id low values.
> Print the values if the probe fails.
>
> Signed-off-by: Nicolas Kaiser <[email protected]>
> ---
> Like this?
> Supersedes patch "drivers/media: nuvoton: always true expression".
>
> drivers/media/IR/nuvoton-cir.c | 7 +++++--
> 1 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/IR/nuvoton-cir.c b/drivers/media/IR/nuvoton-cir.c
> index 301be53..92d32c8 100644
> --- a/drivers/media/IR/nuvoton-cir.c
> +++ b/drivers/media/IR/nuvoton-cir.c
> @@ -249,9 +249,12 @@ static int nvt_hw_detect(struct nvt_dev *nvt)
> chip_minor = nvt_cr_read(nvt, CR_CHIP_ID_LO);
> nvt_dbg("%s: chip id: 0x%02x 0x%02x", chip_id, chip_major, chip_minor);
>
> - if (chip_major != CHIP_ID_HIGH &&
> - (chip_minor != CHIP_ID_LOW || chip_minor != CHIP_ID_LOW2))
> + if (chip_major != CHIP_ID_HIGH ||
> + (chip_minor != CHIP_ID_LOW && chip_minor != CHIP_ID_LOW2)) {
> + nvt_pr(KERN_ERR, "%s: chip id mismatch: 0x%02x 0x%02x",

I'd probably go with "unsupported chip, id: " instead, since it makes the
message a bit clearer, but generally speaking, yeah, something along
those lines should be fine.

--
Jarod Wilson
[email protected]

2010-11-19 20:45:15

by Nicolas Kaiser

[permalink] [raw]
Subject: [PATCH] drivers/media: nuvoton: fix chip id probe v2

Make sure we have a matching chip id high and one or the other
of the chip id low values.
Print the values if the probe fails.

Signed-off-by: Nicolas Kaiser <[email protected]>
---
drivers/media/IR/nuvoton-cir.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/media/IR/nuvoton-cir.c b/drivers/media/IR/nuvoton-cir.c
index 301be53..e3274ef 100644
--- a/drivers/media/IR/nuvoton-cir.c
+++ b/drivers/media/IR/nuvoton-cir.c
@@ -249,9 +249,12 @@ static int nvt_hw_detect(struct nvt_dev *nvt)
chip_minor = nvt_cr_read(nvt, CR_CHIP_ID_LO);
nvt_dbg("%s: chip id: 0x%02x 0x%02x", chip_id, chip_major, chip_minor);

- if (chip_major != CHIP_ID_HIGH &&
- (chip_minor != CHIP_ID_LOW || chip_minor != CHIP_ID_LOW2))
+ if (chip_major != CHIP_ID_HIGH ||
+ (chip_minor != CHIP_ID_LOW && chip_minor != CHIP_ID_LOW2)) {
+ nvt_pr(KERN_ERR, "%s: unsupported chip, id: 0x%02x 0x%02x",
+ chip_id, chip_major, chip_minor);
ret = -ENODEV;
+ }

nvt_efm_disable(nvt);

--
1.7.2.2

2010-11-19 21:40:15

by Jarod Wilson

[permalink] [raw]
Subject: Re: [PATCH] drivers/media: nuvoton: fix chip id probe v2

On Fri, Nov 19, 2010 at 09:42:40PM +0100, Nicolas Kaiser wrote:
> Make sure we have a matching chip id high and one or the other
> of the chip id low values.
> Print the values if the probe fails.
>
> Signed-off-by: Nicolas Kaiser <[email protected]>

That works for me, thanks much.

Acked-by: Jarod Wilson <[email protected]>

--
Jarod Wilson
[email protected]