fix sym2 negotiation
The problems with domain validation were just the tip of the iceberg in
the sym2 driver. Most of its problems seem to come from an overly
complex set of negotiating rules, which I've swept away with this patch.
I also removed the ability to set parameters in the on-board bios and
have the driver respect them. (this hasn't worked for a while in 2.6
because after the driver sets them, Domain Validation resets them
again).
Finally, there was a really nasty bug where the driver negotiates
improperly when turning off DT clocking. If you simply turn it off, the
driver originally fell back to using the old WDTR/SDTR method of
negotiation. However, since it thought the bus was already wide, it
only emitted a SDTR, which causes the device to reset from wide to
narrow. Hence the driver thinks the device is wide and the device
thinks it is narrow => boom.
I redid the negotiation to predicate PPR messages on whether the device
claims support for them or not.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Showing
Please register or sign in to comment