On Sun, Apr 15, 2018 at 1:38 PM, Andrey Korolyov <and...@xdel.ru> wrote:

> 256             blk_post_runtime_resume(sdev->request_queue, err);

To expand things a little - upon de-powering dock l-m-t actually
*stops* the disk (SSD which is connected to ata.1 link in this
example) and then bad things happen:

        if (!err) {
                q->rpm_status = RPM_ACTIVE;
                printk(KERN_INFO "setting rpm_status to %d\n", q->rpm_status);
>>>             __blk_run_queue(q);

[   95.596723] sd 0:0:0:0: [sda] Starting disk
[   95.598389] setting rpm_status to 0
[   95.600143] BUG: unable to handle kernel NULL pointer dereference
at           (null)

I won`t discuss the behavior of l-m-t, which is utterly wrong and does
not account a) rotational flag for the ata device and b) fact that ata
link with lowest index would likely sit in the laptop itself rather
than in dock and therefore should not be powered off, but it seems
that this bug could potentially reappear in some other environments,
like _very_ cold storage where disks are powered off most of the time.

Reply via email to