On Fri, Dec 03, 2004 at 10:59:12AM -0800, Roland Dreier wrote: > Grant> How can I tell which bits I'm currently testing? I did the > Grant> "svn up" about 2h ago. > > That's new enough. Here's a debugging patch that might help me figure > out what's going on; can you reproduce the problem with this applied?
I tried but it worked with the patch. :^( Last output was: ... Set EQ CI 3/55 cmd completion 1208 Set EQ CI 3/56 cmd completion 1209 Set EQ CI 3/57 cmd completion 1210 Set EQ CI 3/58 cmd completion 1211 Set EQ CI 3/59 --- end of output --- iowa:/usr/src/linux-ia64-release-2.6.10# cat /sys/class/infiniband/mthca0/ports/1/state cmd completion 1212 Set EQ CI 3/60 4: ACTIVE iowa:/usr/src/linux-ia64-release-2.6.10# cat /sys/class/infiniband/mthca0/ports/2/state cmd completion 1213 Set EQ CI 3/61 1: DOWN which is correct. Port "A" is connected to a switch and "B" is not. > + printk(KERN_ERR "Set EQ CI %d/%d\n", eqn, ci); > + > doorbell[0] = cpu_to_be32(MTHCA_EQ_DB_SET_CI | eqn); > doorbell[1] = cpu_to_be32(ci); This doesn't feel very safe to me. If write ordering is required here, writel() or wmb() is necessary. Let me look over this code and see if the ordering is enforced elsewhere. I'll also play around with removing one printk at a time. thanks, grant _______________________________________________ openib-general mailing list [EMAIL PROTECTED] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
