It looks clear to me that it's a bug in the chipset. It's supposed to
set some valid sense data if an error occurs, not just set the "failed"
flag in the USB storage status word. (Presumably the fact that these
errors are occurring in the first place is a bug in itself.. though that
could be a problem with the enclosure or drive as well.)
However the kernel should be more robust and not ignore the error
indication that it is giving.
I suppose it wouldn't hurt to let JMicron know about this. I doubt they
could do anything for existing chipsets, but it might help them avoid
this bug in future designs.
--