(2010/04/09 10:54), Kenji Kaneshige wrote: > Instead of adding aer specific secondary bus reset function, how about > adding generic one into pci.c? The pci_parent_bus_reset() in pci.c also > does secondary bus reset. I know that scsi also has similar code to reset secondary bus: $ grep -r PCI_BRIDGE_CTL_BUS_RESET ./ ./arch/arm/kernel/bios32.c: status &= ~(PCI_BRIDGE_CTL_BUS_RESET|PCI_BRIDGE_CTL_FAST_BACK); ./drivers/pci/pci.c: ctrl |= PCI_BRIDGE_CTL_BUS_RESET; ./drivers/pci/pci.c: ctrl &= ~PCI_BRIDGE_CTL_BUS_RESET; ./drivers/pci/pcie/aer/aerdrv_core.c: p2p_ctrl |= PCI_BRIDGE_CTL_BUS_RESET; ./drivers/pci/pcie/aer/aerdrv_core.c: p2p_ctrl &= ~PCI_BRIDGE_CTL_BUS_RESET; ./drivers/scsi/stex.c: pci_bctl |= PCI_BRIDGE_CTL_BUS_RESET; ./drivers/scsi/stex.c: pci_bctl &= ~PCI_BRIDGE_CTL_BUS_RESET; ./include/linux/pci_regs.h:#define PCI_BRIDGE_CTL_BUS_RESET 0x40 /* Secondary bus reset */ Yes they are similar but slightly different in how long it takes in msleep(). Maybe I can have patches like: [PATCH] pci: introduce generic pci_secondary_bus_reset() + void pci_secondary_bus_reset(struct pci_dev *dev, int wait) and [PATCH] aerdrv: use generic pci_secondary_bus_reset() [PATCH] scsi: use generic pci_secondary_bus_reset() Do you mind if we have other thread to post them later? Thanks, H.Seto -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html