Hi San,
this is good stuff, it should go in the tree. If nobody objects, I'll put it in by the end of this weekend. Same for the other patch (gotta check if the last lnxi mega patch doesn't do that one already though)
Stefan
* San Mehat san@google.com [051021 17:19]:
*****BEGIN CUT***** Index: hypertransport.c =================================================================== --- hypertransport.c (revision 2064) +++ hypertransport.c (working copy) @@ -345,12 +345,25 @@ /* Wait until the link initialization is complete */ do { ctrl = pci_read_config16(prev.dev, prev.pos + prev.ctrl_off);
/* Is this the end of the hypertransport chain?
* Has the link failed?
* If so further scanning is pointless.
*/
if (ctrl & ((1 << 6) | (1 << 4))) {
goto end_of_chain;
if (ctrl & (1 << 6))
goto end_of_chain; // End of chain
if (ctrl & ((1 << 4) | (1 << 8))) {
/*
* Either the link has failed, or we have
* a CRC error.
* Sometimes this can happen due to link
* retrain, so lets knock it down and see
* if its transient
*/
ctrl |= ((1 << 6) | (1 <<8)); // Link fail +
Crc
pci_write_config16(prev.dev, prev.pos +
prev.ctrl_off, ctrl);
ctrl = pci_read_config16(prev.dev, prev.pos +
prev.ctrl_off);
if (ctrl & ((1 << 4) | (1 << 8))) {
printk_alert("Detected error on
Hypertransport Link\n");
goto end_of_chain;
} } } while((ctrl & (1 << 5)) == 0);
****END CUT*****
-- LinuxBIOS mailing list LinuxBIOS@openbios.org http://www.openbios.org/mailman/listinfo/linuxbios