Re: [PATCH] ahci: do not powerdown during initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff Garzik wrote:
Tejun Heo wrote:
ahci_init_controller() calls ahci_deinit_port() to make sure the
controller is stopped before initializing the controller.  In turn,
ahci_deinit_port() invokes ahci_power_down() to power down the port.
If the controller supports slumber mode, the link is put into it.

I would rather just pass a 'dont suspend port' flag to ahci_deinit_port(). That leaves ahci_port_stop() behavior unchanged.

That behavior change is intended. ahci_port_stop() must not call ahci_power_down(); otherwise, it will cause strange behaviors on some devices on driver unloading.

The baseline is that power up/down shouldn't be done as part of controller init/deinit. Power up/down involves link power management operation which make some devices choke. They should only be done when actual power management is required. This is okay even for devices which choke on link pm because system-wide PM powers those devices down clearing lockup. I dunno what should be done with partial power management tho.

--
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux