On Mon, 2013-10-28 at 23:45 -0500, Bhushan Bharat-R65777 wrote: > > > -----Original Message----- > > From: Wood Scott-B07421 > > Sent: Tuesday, October 29, 2013 10:05 AM > > To: Bhushan Bharat-R65777 > > Cc: Wood Scott-B07421; Alex Williamson; Kim Phillips; Yoder Stuart-B08248; > > christoffer.dall@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > > a.motakis@xxxxxxxxxxxxxxxxxxxxxx; agraf@xxxxxxx; Sethi Varun-B16395; > > peter.maydell@xxxxxxxxxx; santosh.shukla@xxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; > > gregkh@xxxxxxxxxxxxxxxxxxx > > Subject: Re: [PATCH 3/4] VFIO: pci: amend vfio-pci for explicit binding via > > sysfs only > > > > On Mon, 2013-10-28 at 23:31 -0500, Bhushan Bharat-R65777 wrote: > > > > > > > -----Original Message----- > > > > From: Wood Scott-B07421 > > > > Sent: Tuesday, October 29, 2013 10:00 AM > > > > To: Bhushan Bharat-R65777 > > > > Cc: Wood Scott-B07421; Alex Williamson; Kim Phillips; Yoder > > > > Stuart-B08248; christoffer.dall@xxxxxxxxxx; > > > > linux-kernel@xxxxxxxxxxxxxxx; a.motakis@xxxxxxxxxxxxxxxxxxxxxx; > > > > agraf@xxxxxxx; Sethi Varun-B16395; peter.maydell@xxxxxxxxxx; > > > > santosh.shukla@xxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; > > > > gregkh@xxxxxxxxxxxxxxxxxxx > > > > Subject: Re: [PATCH 3/4] VFIO: pci: amend vfio-pci for explicit > > > > binding via sysfs only > > > > > > > > On Mon, 2013-10-28 at 22:52 -0500, Bhushan Bharat-R65777 wrote: > > > > > So when ids == NULL it does not check of vendor etc and calls > > > > > pci_add_dynid() > > > > which in turn calls driver_attach(). > > > > > > > > > > If we change the above loop to break if ids->vendor == PCI_ANY_ID > > > > >&& ids- subvendor == PCI_ANY_ID then also we will call pci_add_dyids(). > > > > > > > > What problem are you trying to solve? > > > > > > new_id interface to continue working as before. > > > > In what specific way does this allow new_id to continue working as before? Be > > verbose. > > > What I observed that this patch (kim's patch) new_id interface stops working. Yes. > This is found to be because store_new_id() checks for pdrv->id_table which is no more NULL, so the below check fails I do not think that is the reason. The reason is because sysfs_bind_only is set, and this is not a direct sysfs bind. > if (ids) { > ^^ > This is no more NULL, so enter inside the loop > > retval = -EINVAL; > while (ids->vendor || ids->subvendor || ids->class_mask) { > if (driver_data == ids->driver_data) { > retval = 0; > break; > } > ids++; > } > if (retval) /* No match */ > return retval; > ^^^^^ > This is where it returns as -EINVAL Why wouldn't it have broken out of the loop earlier, since driver_data and ids->driver_data should both be zero? I assume this is with a patch to do PCI_ANY_ID in vfio-pci. -Scott -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html