pmcraid has duplicated structure members and fails build
A current Linus kernel built with a gcc 4.6 snapshot for allyesconfig on x86-64 fails with
In file included from /home/lsrc/git/linux-2.6/drivers/scsi/pmcraid.c:57:0:/home/lsrc/git/linux-2.6/drivers/scsi/pmcraid.h:601:8: error: duplicate member 'sense_buffer'
The error is correct:
/* pmcraid_cmd - LLD representation of SCSI command */ struct pmcraid_cmd {
/* Ptr and bus address of DMA.able control block for this command */
struct pmcraid_control_block *ioa_cb;
dma_addr_t ioa_cb_bus_addr;
dma_addr_t dma_handle;
u8 *sense_buffer; <---------- no 1
...
/* scratch used */
union {
/* during reset sequence */
unsigned long time_left;
struct pmcraid_resource_entry *res;
int hrrq_index;
/* used during IO command error handling. Sense buffer
* for REQUEST SENSE command if firmware is not sending
* auto sense data
*/
struct {
u8 *sense_buffer; <-------- no 2
dma_addr_t sense_buffer_dma;
};
};};
I think older gccs didn't diagnose that correctly, but it's really broken.
Can someone please figure out which one is the correct sense_buffer and delete the other one?
Thanks,
-Andi
Signature · 1 line
[email protected] -- Speaking for myself only.