* [Bug 355] New: Error when compiling SCSI drivers (Adaptec, Seagate etc.)
@ 2003-02-14 15:43 Martin J. Bligh
2003-02-14 18:15 ` Christoph Hellwig
0 siblings, 1 reply; 2+ messages in thread
From: Martin J. Bligh @ 2003-02-14 15:43 UTC (permalink / raw)
To: linux-kernel
http://bugme.osdl.org/show_bug.cgi?id=355
Summary: Error when compiling SCSI drivers (Adaptec, Seagate
etc.)
Kernel Version: 2.5.60 (- bk4)
Status: NEW
Severity: normal
Owner: andmike@us.ibm.com
Submitter: martinsteeg@t-online.de
Software Environment: linnx Kernel 2.5.60 ( and snapshots -bk1 ... -bk4)
Problem Description:
In the change of linux-2.5.59 to linux-2.5.60, the struct scsi_cmnd
was changed in that the fields host, target, lun, channel are replaced
by fields of the device field (struct scsi_device*): host, id, lun,
channel
This is not reflected in several SCSI drivers, e.g. the change is not
considered for Adaptec and Seagate SCSI controllers.
Proposal to fix the Problem:
1. some new defines for drivers/scsi/scsi.h
+#define SCSICMND_HOST device->host
+#define SCSICMND_TARGET device->id
+#define SCSICMND_LUN device->lun
+#define SCSICMND_CHANNEL device->channel
2. replacing the lines of drivers/scsi/*.c containing the following code
-(ptr)->host
+)ptr)->SCSICMND_HOST
-(ptr)->target
+)ptr)->SCSICMND_TARGET
-(ptr)->lun
+)ptr)->SCSICMND_LUN
-(ptr)->channel
+)ptr)->SCSICMND_CHANNEL
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Bug 355] New: Error when compiling SCSI drivers (Adaptec, Seagate etc.)
2003-02-14 15:43 [Bug 355] New: Error when compiling SCSI drivers (Adaptec, Seagate etc.) Martin J. Bligh
@ 2003-02-14 18:15 ` Christoph Hellwig
0 siblings, 0 replies; 2+ messages in thread
From: Christoph Hellwig @ 2003-02-14 18:15 UTC (permalink / raw)
To: Martin J. Bligh; +Cc: linux-kernel
On Fri, Feb 14, 2003 at 07:43:43AM -0800, Martin J. Bligh wrote:
> http://bugme.osdl.org/show_bug.cgi?id=355
>
> Summary: Error when compiling SCSI drivers (Adaptec, Seagate
> etc.)
> Kernel Version: 2.5.60 (- bk4)
> Status: NEW
> Severity: normal
> Owner: andmike@us.ibm.com
> Submitter: martinsteeg@t-online.de
>
>
> Software Environment: linnx Kernel 2.5.60 ( and snapshots -bk1 ... -bk4)
> Problem Description:
> In the change of linux-2.5.59 to linux-2.5.60, the struct scsi_cmnd
> was changed in that the fields host, target, lun, channel are replaced
> by fields of the device field (struct scsi_device*): host, id, lun,
> channel
> This is not reflected in several SCSI drivers, e.g. the change is not
> considered for Adaptec and Seagate SCSI controllers.
>
> Proposal to fix the Problem:
> 1. some new defines for drivers/scsi/scsi.h
> +#define SCSICMND_HOST device->host
> +#define SCSICMND_TARGET device->id
> +#define SCSICMND_LUN device->lun
> +#define SCSICMND_CHANNEL device->channel
This macro abuse will never get into mainline. Fix it to use the proper
dereferences directly, that'll work fine for older kernels aswell.
/me wonders how people get the crazy idea that cpp abuse will make code
more maintainable..
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-02-14 18:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-14 15:43 [Bug 355] New: Error when compiling SCSI drivers (Adaptec, Seagate etc.) Martin J. Bligh
2003-02-14 18:15 ` Christoph Hellwig
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®