Re: [PATCH] lsi53c895a: Add missing registers and workaround for OS/2 Warp SYM8XX.ADD driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux