tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: physio split the request.. cannot proceed
Thor Lancelot Simon <tls%panix.com@localhost> wrote:
> It looks like the problem is that the driver has a bug -- it is only
> using enough bus_dma segments to support a transfer smaller than the
> requested 512K, but trying to set up the full transfer anyway.
The OpenBSD version seems to have fixed it:
- iiq.system_request_frame_size = htole16(MPII_REQUEST_SIZE / 4);
+ iiq.system_request_frame_size = htole16(sc->sc_request_size / 4);
and later:
- if (len > MPII_REQUEST_SIZE - sizeof(struct mpii_msg_config_request) ||
- len < page_length * 4)
+ if (len > sc->sc_request_size - sizeof(*cq) || len < page_length * 4)
return (1);
> I also notice it has its own minphys() method which _should be_
> constraining the size of this transfer (since it should be the minphys
> on the scsipi channel) but seemingly is not! That's also worrisome.
The OpenBSD version just uses scsi_minphys.
Updating from it will not be easy, the changeset between 1.51-1.73
is huge, and we have our own fixes.
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index