Adam Zimman wrote: > Adding VMware engineering... > > -----Original Message----- > From: Manon Goo [mailto:manon@manon.de] > Sent: Tuesday, January 09, 2007 9:49 AM > To: Michael Reed; Moore, Eric; David Berghoff > Cc: James Bottomley; Adam Zimman; linux-scsi@vger.kernel.org; Shirron, Stephen > Subject: Re: [PATCH 2/5] fusion: vmware bug fix prevent inifinite retries > > Hmm .... why don't w make the whole thing configurable (david implemented this for us) In that case I would prefer going on with automatic detection of our implementation - see first part of attached mpt-patch.diff I offered when this all started. As passing options to modules loaded by initrd is not exactly trivial and varies across distributions, I would prefer this runtime detection... Thanks, Petr Vandrovec > > +/* > + * cmd line parameters > + */ > +static int mpt_mpi_busy; > +module_param(mpt_mpi_busy, int, 0); > +MODULE_PARM_DESC(mpt_mpi_busy, " MPT MPI busy workaround for VMWare ESX > (default=0)"); > + > /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ > > typedef struct _BIG_SENSE_BUF { > @@ -704,10 +711,13 @@ > sc->resid=0; > case MPI_IOCSTATUS_SCSI_RECOVERED_ERROR: /* 0x0040 */ > case MPI_IOCSTATUS_SUCCESS: /* 0x0000 */ > - if (scsi_status == MPI_SCSI_STATUS_BUSY) > + if ((scsi_status == MPI_SCSI_STATUS_BUSY) && > !mpt_mpi_busy) > sc->result = (DID_BUS_BUSY << 16) | > scsi_status; > - else > + else { > + if (mpt_mpi_busy) > + printk(KERN_INFO "MPT MPI ESX busy > hack enabled ... waiting\n"); > sc->result = (DID_OK << 16) | scsi_status; > + } > if (scsi_state == 0) { > ; > } else if (scsi_state & > MPI_SCSI_STATE_AUTOSENSE_VALID) {