Re: [PATCHv2] PCI/Hotplug: Schedule device add retries

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

 



> >  err_exit:
> > +	if (ctrl->slot_retries++ < DEVICE_ADD_RETRIES) {
> > +		ctrl_dbg(ctrl, "Retrying (%d/%d) device add at %04x:%02x:00\n",
> > +			ctrl->slot_retries, DEVICE_ADD_RETRIES,
> > +			pci_domain_nr(parent), parent->number);
> > +		pciehp_queue_power_work(p_slot, ENABLE_RETRY_REQ);
> > +		return retval;
> > +	}
> 
> Does the retry need to be requeued instead of just doing this in a loop?

The requeue gives a little bit more time and performs the actions in pciehp_enable_slot in case something has changed.

We could push the loop to within pciehp_enable_slot, but that could cause us to potentially miss DISABLE_REQ events.
..
That brings up the question about racing with DISBALE_REQ. If a power controller is implemented, a DISABLE_REQ request will disable the slot, which could then be reenabled by the ENABLE_RETRY_REQ path. Would disabling and reenabling the slot's power just cause the same faults over and over again? I'm not so sure.

--
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



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux