summary refs log tree commit diff
path: root/drivers/ide
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@lip6.fr>2012-06-12 10:17:25 -0400
committerDavid S. Miller <davem@davemloft.net>2012-06-12 15:51:41 -0700
commite58c5de8f59d124907c993ea3126c69493b7eec7 (patch)
tree9b4a4673cb7700431b8ded39304d9bf6bfba3aff /drivers/ide
parent027253c138a12b075e724f94b6cc43fd7071c14f (diff)
downloadlinux-e58c5de8f59d124907c993ea3126c69493b7eec7.tar.gz
drivers/ide/ide-cs.c: adjust suspicious bit operation
IO_DATA_PATH_WIDTH_8 is 0, so a bit-and with it is always false.  The
value IO_DATA_PATH_WIDTH covers the bits of the IO_DATA_PATH constants, so
first pick those bits and then make the test using !=.

This problem was found using Coccinelle (http://coccinelle.lip6.fr/).

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/ide-cs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ide/ide-cs.c b/drivers/ide/ide-cs.c
index 28e344ea514c..f1e922e2479a 100644
--- a/drivers/ide/ide-cs.c
+++ b/drivers/ide/ide-cs.c
@@ -167,7 +167,8 @@ static int pcmcia_check_one_config(struct pcmcia_device *pdev, void *priv_data)
 {
 	int *is_kme = priv_data;
 
-	if (!(pdev->resource[0]->flags & IO_DATA_PATH_WIDTH_8)) {
+	if ((pdev->resource[0]->flags & IO_DATA_PATH_WIDTH)
+	    != IO_DATA_PATH_WIDTH_8) {
 		pdev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH;
 		pdev->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO;
 	}