mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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®