On 03/12/2016 02:33 PM, Andy Lutomirski wrote: > On Sat, Mar 12, 2016 at 11:35 AM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote: > Got it. I was barking up the wrong tree. > > Q: What happens if _Q66 runs concurrently with itself: > > A: > > Method (_Q66, 0, NotSerialized) // _Qxx: EC Query > { > Acquire (PATM, 0x0064) > If ((ECRD != One)) > { > Return (Zero) > } > > NEVT () > Release (PATM) > Return (Zero) > } > > The first one acquires PATM. The second one fails to acquire PATM due > to the timeout, does something potentially harmful when it reenters > NEVT (not sure -- maybe it's fine), then blows up when it tries to > release PATM, which it doesn't hold. > > --Andy Andy, Our team has confirmed this mistake and will issue a fix in a future BIOS. For now if you want to build your own DSDT to see if this is causing your type-C problems the Release(PATM) will be inserted in the obvious location. FWIW this issue will affect many platforms in this generation. (XPS 9550, XPS 9350, Precision 5510, and more) Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html