linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Tomas Carnecky <tom@dbservice.com>
Cc: Pavel Machek <pavel@ucw.cz>,
	linux-ide@vger.kernel.org,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: laptop reboots right after hibernation
Date: Wed, 28 Nov 2007 17:06:18 +0900	[thread overview]
Message-ID: <474D217A.6040705@gmail.com> (raw)
In-Reply-To: <47409DA3.7070909@dbservice.com>

Tomas Carnecky wrote:
> I kindof had suspected that. The docking station has an ultrabay slot
> where I currently have a cdrom drive (since the notebook itself doesn't
> have any cdrom drive. Once I took the cdrom drive out, I was able to
> successfully perform what I wanted to do in points 3a and 5!
> 
> The 'undock' button probably doesn't tell the kernel that it should
> unload the cdrom driver. Even though after pressing the undock button
> the drive becomes unusable (the green led that is on the side of the
> ultrabay disables and it's impossible to open the tray). Though pressing
> the undock button causes the usb ports to be removed from the kernel, at
> least that's what dmesg suggests (I put the notebook into the dock,
> waited a bit and then pressed the undock button):

That undock button generate an ACPI event, right?  You probably need
to hook that ACPI event such that something like the following gets
executed.

echo 1 > /sys/device/pci0000:00/0000:00:1f.1/host?/target?:?:?:?/?:?:?:?/delete"

> usb 1-4: new high speed USB device using ehci_hcd and address 11
> usb 1-4: configuration #1 chosen from 1 choice
> hub 1-4:1.0: USB hub found
> hub 1-4:1.0: 4 ports detected
> ACPI: \_SB_.GDCK - docking
> ACPI: \_SB_.GDCK - undocking
> usb 1-4: USB disconnect, address 11

USB is capable of detecting hotplug event by itself.  Unfortunately,
ata_piix can't and in your case accessing non existent device is
resulting machine reset.  I don't know why tho.  It usually just
causes a bunch of timeouts before libata EH gives up on the device.

> The notebook+dock+STR works as long as the notebook doesn't know about
> the ultrabay device. That can be because the notebook was started
> outside of the docking station, or inside the docking station but with
> the ultrabay removed. But once the notebook sees the ultrabay device
> it's over. As little as one suspend/resume cycle inside the docking
> station and with a ultrabay device plugged in is enough to make the
> kernel (partially) recognize the device - the kernel doesn't recognize
> the device as a cdrom drive, but only as an UDMA/33 device. After one
> suspend/resume cycle I see this in dmesg:

Do you have sr_mod loaded?

> ata4.00: ACPI cmd ef/03:45:00:00:00:a0 failed (Emask=0x1 Stat=0x51 Err=0x04)
> ata4: failed to recover some devices, retrying in 5 secs
> Coming out of suspend...
> [... snip ...]
> ata4.00: ACPI cmd ef/03:45:00:00:00:a0 failed (Emask=0x1 Stat=0x51 Err=0x04)

That's your BIOS trying to set UDMA UDMA5 on the drive and the drive
not liking it for some reason.

> ata4.00: ACPI on devcfg failed the second time, disabling (errno=-5)
> ata4.00: revalidation failed (errno=1)

After two tries, libata thinks BIOS is no good and decides to turn off
ACPI.

> ata4: failed to recover some devices, retrying in 5 secs
> ata4.00: configured for UDMA/33

Which results in successful configuration, yay.

> And after that I can't resume outside of the docking station. So the
> description of point 3 was incomplete, sorry about that.

Can you please post...

* full boot log with the ultra bay occupied.

* the result of "hdparm -I /dev/sr0" with the ultra bay occupied.

* the result of "lspci -nnvvv" with the ultra bay occupied.

* full boot log without docking station.

* the result of "lspci -nnvvv" without docking station.

Thanks.

-- 
tejun

  parent reply	other threads:[~2007-11-28  8:06 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <473730F6.2010900@dbservice.com>
     [not found] ` <20071118105214.GB7299@ucw.cz>
     [not found]   ` <4740692E.7010801@dbservice.com>
2007-11-18 20:16     ` laptop reboots right after hibernation Tomas Carnecky
2007-11-20  9:32       ` Kjartan Maraas
2007-11-28  1:09         ` Tejun Heo
2007-11-28 12:35           ` Kjartan Maraas
2007-11-28 13:35             ` Tejun Heo
2007-11-28 13:47               ` Jeff Garzik
2007-11-28 14:11               ` Mark Lord
2007-11-30 10:39             ` Tejun Heo
2007-11-30 21:37               ` Kjartan Maraas
2007-12-05  7:46                 ` Tejun Heo
2007-12-05  8:27                   ` Kjartan Maraas
2007-12-05 17:09                   ` Kjartan Maraas
2007-12-06  2:38                     ` Tejun Heo
2007-12-06 16:47                       ` Kjartan Maraas
2007-12-09  6:46                         ` Tejun Heo
2007-12-09 21:43                           ` Kjartan Maraas
2007-12-10  1:03                             ` Tejun Heo
2007-12-10 14:05                               ` Kjartan Maraas
2007-12-10 14:10                                 ` Tejun Heo
2007-11-28  8:06       ` Tejun Heo [this message]
2007-11-28 10:45         ` Tomas Carnecky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=474D217A.6040705@gmail.com \
    --to=htejun@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=tom@dbservice.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).