Mark Lord wrote:This patch below seems to fix point 1 on my system, causing pciehp to become aware of already-inserted cards on module load. It's not perfect, but I believe it does show the kind of functionality that's missing from the driver. The resume() function will need something similar, to poll the slots on resume and call pciehp_enable_slot() or pciehp_disable_slot() as appropriate. I suspect this is broken even on machines that do have ACPI BIOS support. Cheers Not for kernel inclusion (yet), but.. Signed-off-by: Mark Lord <mlord@pobox.com> --- old/drivers/pci/hotplug/pciehp_core.c 2007-10-12 12:43:44.000000000 -0400 +++ linux/drivers/pci/hotplug/pciehp_core.c 2007-10-16 15:22:46.000000000 -0400 @@ -475,6 +475,9 @@ rc = t_slot->hpc_ops->power_off_slot(t_slot); /* Power off slot if not occupied*/ if (rc) goto err_out_free_ctrl_slot; + } else { + extern int pciehp_enable_slot(struct slot *p_slot); + pciehp_enable_slot(t_slot); } return 0; --- old/drivers/pci/hotplug/pciehp_ctrl.c 2007-10-12 12:43:44.000000000 -0400 +++ linux/drivers/pci/hotplug/pciehp_ctrl.c 2007-10-16 15:22:44.000000000 -0400 @@ -37,7 +37,7 @@ #include "pciehp.h" static void interrupt_event_handler(struct work_struct *work); -static int pciehp_enable_slot(struct slot *p_slot); + int pciehp_enable_slot(struct slot *p_slot); static int pciehp_disable_slot(struct slot *p_slot); static int queue_interrupt_event(struct slot *p_slot, u32 event_type) -
| Andrew Morton | -mm merge plans for 2.6.23 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Arjan van de Ven | Re: [GIT]: Networking |
| Auke Kok | [PATCH] e1000e: test MSI interrupts |
git: | |
