On Fri, Jan 17, 2014 at 03:01:10PM -0700, Keith Busch wrote: > >dev->entry[0].vector is initialized in nvme_dev_map(), and it's used > >for free_irq() above the area of your patch, so I don't think this is > >actually a bug, though it might be somewhat confusing. > > It is confusing, but there's a reason. :) > > We send a single command using legacy irq to discover how many msix > vectors we want. The legacy entry needs to be set some time before calling > request_irq in nvme_configure_admin_queue, but also within nvme_dev_start > (for power-management). I don't think there's a place to set it that > won't look odd when looking at nvme_setup_io_queues. I settled on > 'nvme_dev_map' was because 'nvme_dev_unmap' invalidates the entries, > so this seemed to provide some amount of symmetry. I am sending v3 of the patch which concerns Bjorn's comment. I am also sending two follow-up patches an attempt to make nvme_dev_start() more readable and fix couple of (what I suspect are) issues. Thanks! -- Regards, Alexander Gordeev agordeev@xxxxxxxxxx -- 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