int ret = -1;
char *devpath = NULL, *driverpath = NULL;
- if (dev->driver || PCI_ACTION_BIND & driver->fail) {
- /* Device already bound or failing driver requested */
+ if (dev->driver) {
+ /* Device already bound */
errno = ENODEV;
return ret;
}
int ret = -1;
char *devpath = NULL, *driverpath = NULL;
- if (dev->driver != driver || PCI_ACTION_UNBIND & driver->fail) {
- /* Device not bound to the @driver or failing driver used */
+ if (dev->driver != driver) {
+ /* Device not bound to the @driver */
errno = ENODEV;
return ret;
}
struct pciDevice *dev = pci_device_find_by_content(path);
struct pciDriver *driver = pci_driver_find_by_path(path);
- if (!driver || !dev) {
- /* This should never happen (TM) */
+ if (!driver || !dev || PCI_ACTION_BIND & driver->fail) {
+ /* No driver, no device or failing driver requested */
errno = ENODEV;
goto cleanup;
}
int ret = -1;
struct pciDevice *dev = pci_device_find_by_content(path);
- if (!dev || !dev->driver) {
- /* This should never happen (TM) */
+ if (!dev || !dev->driver || PCI_ACTION_UNBIND & dev->driver->fail) {
+ /* No device, device not binded or failing driver requested */
errno = ENODEV;
goto cleanup;
}