On Thu, 2010-09-30 at 10:07 +0200, Paolo Bonzini wrote: > On 09/30/2010 07:07 AM, Nicholas A. Bellinger wrote: > > case 0x06: /* SDID */ > > - if ((val& 0xf) != (s->ssid& 0xf)) > > - BADF("Destination ID does not match SSID\n"); > > + /* > > + * This workaround is required by the SYM8XX.ADD driver for OS/2 Warp. > > + */ > > + if ((val& 0xf) != (s->ssid& 0xf)) { > > + DPRINTF("Destination ID does not match SSID, val: %02x" > > + " s->ssid: %02x, fixing up val\n", val, s->ssid); > > + val = s->ssid; > > + } > > s->sdid = val& 0xf; > > break; > > I don't think the write is bogus, as the manual says "Writing these bits > set the SCSI ID of the intended initiator or target during SCSI > reselection or selection phases, respectively". > > The value is never used by the device model, only read/written according > to SCRIPTS and register read/writes. How does the OS/2 driver use it? > Have you tried, just removing the "if" without replacing it? > Hi Paolo, Yeah, I think dropping this "if" should work just fine, but I left this out because of the assumption that Paul (or someone else..?) put this in for a specific reason.. Paul, do you have any comments here..? Thanks, --nab -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html