Could you provide dmesg from both the working and non-working kernels after is disconnects/reconnects?