Re: [PATCH 18/25] ohci1394: Fix broken suspend/resume in ohci1394

From: Stefan Richter
Date: Tue Jun 27 2006 - 18:09:53 EST


Chris Wright wrote:
...
From: Robert Hancock <hancockr@xxxxxxx>
...
I created the patch below and tested it, and it appears to resolve the
suspend problems I was having with the module loaded. I only added in
the pci_save_state and pci_restore_state - however, though I know little
of this hardware, surely the driver should really be doing more than
this when suspending and resuming? Currently it does almost nothing,
what if there are commands in progress, etc?
...

This patch is OK. (Although unlike one might expect from reading the patch title, there is still a lot to do for full suspend/resume functionality in ohci1394.) Just FYI, here is my reply to Robert's initial patch submission:

| Thanks, this is at least a start. Apart from the code for PPC Macintoshs,
| ohci1394 does indeed lack any suspend/resume handling. I don't know
| anything about this matter, however the OHCI spec (gratis available,
| linked from www.linux1394.org) table A-11 on page 168 says which losses
| of configuration result from what power state transitions: Interrupts are
| masked when going into D1. IEEE 1394 configuration is lost when going
| into D2. PCI configuration is lost when going into D3. Since we don't
| handle this yet, a suspend/resume cycle results at least in loss of
| FireWire connectivity.
|
| As you may have guessed, this problem is basically as old as the driver.
| Nobody is actively working on it AFAIK. ["it" = the resume problem]
| (Except that I dusted off an old notebook and put a fresh Linux distro on
| it --- with the plan [to] check power management and hot ejection
| handling by ohci1394... later this year...)
--
Stefan Richter
-=====-=-==- -==- ==-==
http://arcgraph.de/sr/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/