if (get_driver(driver)) { if (dattr->store) ret = dattr->store(driver, buf, count); put_driver(driver); }
if (!get_driver(driver)) return -ENODEV;  ret = dattr->store ? dattr->store(driver, buf, count) : -EIO;  put_driver(driver);
pci_driver_attr_store(struct kobject * kobj, struct attribute *attr,		      const char *buf, size_t count){	struct device_driver *driver = kobj_to_pci_driver(kobj);	struct driver_attribute *dattr = attr_to_driver_attribute(attr);	ssize_t ret = 0;	if (get_driver(driver)) {		if (dattr->store)			ret = dattr->store(driver, buf, count);		put_driver(driver);	}	return ret;}