On Thu, Dec 20, 2012 at 12:11 PM, Sasha Levin <sasha.levin@xxxxxxxxxx> wrote: > Remove cases of redundant checks and remote unreachable paths. > > Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Thanks, Sasha. I applied this for v3.9. > --- > drivers/pci/hotplug/cpqphp_ctrl.c | 57 ++++++++++++++------------------------- > 1 file changed, 20 insertions(+), 37 deletions(-) > > diff --git a/drivers/pci/hotplug/cpqphp_ctrl.c b/drivers/pci/hotplug/cpqphp_ctrl.c > index 36112fe..d282019 100644 > --- a/drivers/pci/hotplug/cpqphp_ctrl.c > +++ b/drivers/pci/hotplug/cpqphp_ctrl.c > @@ -1900,8 +1900,7 @@ static void interrupt_event_handler(struct controller *ctrl) > dbg("power fault\n"); > } else { > /* refresh notification */ > - if (p_slot) > - update_slot_info(ctrl, p_slot); > + update_slot_info(ctrl, p_slot); > } > > ctrl->event_queue[loop].event_type = 0; > @@ -2520,44 +2519,28 @@ static int configure_new_function(struct controller *ctrl, struct pci_func *func > > /* If we have IO resources copy them and fill in the bridge's > * IO range registers */ > - if (io_node) { > - memcpy(hold_IO_node, io_node, sizeof(struct pci_resource)); > - io_node->next = NULL; > + memcpy(hold_IO_node, io_node, sizeof(struct pci_resource)); > + io_node->next = NULL; > > - /* set IO base and Limit registers */ > - temp_byte = io_node->base >> 8; > - rc = pci_bus_write_config_byte(pci_bus, devfn, PCI_IO_BASE, temp_byte); > + /* set IO base and Limit registers */ > + temp_byte = io_node->base >> 8; > + rc = pci_bus_write_config_byte(pci_bus, devfn, PCI_IO_BASE, temp_byte); > > - temp_byte = (io_node->base + io_node->length - 1) >> 8; > - rc = pci_bus_write_config_byte(pci_bus, devfn, PCI_IO_LIMIT, temp_byte); > - } else { > - kfree(hold_IO_node); > - hold_IO_node = NULL; > - } > - > - /* If we have memory resources copy them and fill in the > - * bridge's memory range registers. Otherwise, fill in the > - * range registers with values that disable them. */ > - if (mem_node) { > - memcpy(hold_mem_node, mem_node, sizeof(struct pci_resource)); > - mem_node->next = NULL; > - > - /* set Mem base and Limit registers */ > - temp_word = mem_node->base >> 16; > - rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_BASE, temp_word); > + temp_byte = (io_node->base + io_node->length - 1) >> 8; > + rc = pci_bus_write_config_byte(pci_bus, devfn, PCI_IO_LIMIT, temp_byte); > > - temp_word = (mem_node->base + mem_node->length - 1) >> 16; > - rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_LIMIT, temp_word); > - } else { > - temp_word = 0xFFFF; > - rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_BASE, temp_word); > + /* Copy the memory resources and fill in the bridge's memory > + * range registers. > + */ > + memcpy(hold_mem_node, mem_node, sizeof(struct pci_resource)); > + mem_node->next = NULL; > > - temp_word = 0x0000; > - rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_LIMIT, temp_word); > + /* set Mem base and Limit registers */ > + temp_word = mem_node->base >> 16; > + rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_BASE, temp_word); > > - kfree(hold_mem_node); > - hold_mem_node = NULL; > - } > + temp_word = (mem_node->base + mem_node->length - 1) >> 16; > + rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_LIMIT, temp_word); > > memcpy(hold_p_mem_node, p_mem_node, sizeof(struct pci_resource)); > p_mem_node->next = NULL; > @@ -2627,7 +2610,7 @@ static int configure_new_function(struct controller *ctrl, struct pci_func *func > /* Return unused bus resources > * First use the temporary node to store information for > * the board */ > - if (hold_bus_node && bus_node && temp_resources.bus_head) { > + if (bus_node && temp_resources.bus_head) { > hold_bus_node->length = bus_node->base - hold_bus_node->base; > > hold_bus_node->next = func->bus_head; > @@ -2751,7 +2734,7 @@ static int configure_new_function(struct controller *ctrl, struct pci_func *func > } > /* If we have prefetchable memory space available and there > * is some left at the end, return the unused portion */ > - if (hold_p_mem_node && temp_resources.p_mem_head) { > + if (temp_resources.p_mem_head) { > p_mem_node = do_pre_bridge_resource_split(&(temp_resources.p_mem_head), > &hold_p_mem_node, 0x100000); > > -- > 1.8.0 > -- 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