On Thu, May 10, 2007 at 11:00:53PM -0700, Andrew Morton wrote:
> From: Dirk Mueller <[EMAIL PROTECTED]>
>
> This patch corrects a |/|| confusion in mptscsih_copy_sense_data. Using ||
> means that the data that ends up being written is (almost always) 1,
> instead of being bit-wise or'ed.
Andrew, the last time this was posted, Eric picked up on some other
flaws in the same area. James asked him to followup with a patch, but
unless I'm mistaken, that never arrived.
This diff should replace the one in your tree until Eric has an
equivalent or better.
Signed-off-by: Dave Jones <[EMAIL PROTECTED]>
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h
index d25d3be..165f81d 100644
--- a/drivers/message/fusion/mptbase.h
+++ b/drivers/message/fusion/mptbase.h
@@ -436,7 +436,7 @@ typedef struct _MPT_SAS_MGMT {
typedef struct _mpt_ioctl_events {
u32 event; /* Specified by define above */
u32 eventContext; /* Index or counter */
- int data[2]; /* First 8 bytes of Event Data */
+ u32 data[2]; /* First 8 bytes of Event Data */
} MPT_IOCTL_EVENTS;
/*
diff --git a/drivers/message/fusion/mptscsih.c
b/drivers/message/fusion/mptscsih.c
index fa0f776..3bd94f1 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -2463,11 +2463,11 @@ mptscsih_copy_sense_data(struct scsi_cmnd *sc,
MPT_SCSI_HOST *hd, MPT_FRAME_HDR
ioc->events[idx].event =
MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE;
ioc->events[idx].eventContext =
ioc->eventContext;
- ioc->events[idx].data[0] = (pReq->LUN[1] << 24)
||
- (MPI_EVENT_SCSI_DEV_STAT_RC_SMART_DATA
<< 16) ||
- (sc->device->channel << 8) ||
sc->device->id;
+ ioc->events[idx].data[0] = (pReq->LUN[1] << 24)
|
+ (MPI_EVENT_SCSI_DEV_STAT_RC_SMART_DATA
<< 16) |
+ (sc->device->channel << 8) |
sc->device->id;
- ioc->events[idx].data[1] = (sense_data[13] <<
8) || sense_data[12];
+ ioc->events[idx].data[1] = (sense_data[13] <<
8) | sense_data[12];
ioc->eventContext++;
if (hd->ioc->pcidev->vendor ==
--
http://www.codemonkey.org.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html