diff --git a/extras/scsi_id/scsi_id.c b/extras/scsi_id/scsi_id.c index df18271b48..3a34643c81 100644 --- a/extras/scsi_id/scsi_id.c +++ b/extras/scsi_id/scsi_id.c @@ -133,7 +133,7 @@ static int sysfs_is_bus(const char *sysfs_path, const char *bus) return -1; snprintf(bus_dev_name, MAX_NAME_LEN, "%s/%s/%s/%s/%s", sysfs_mnt_path, - SYSFS_BUS_DIR, bus, SYSFS_DEVICES_NAME, bus_id); + SYSFS_BUS_NAME, bus, SYSFS_DEVICES_NAME, bus_id); if (stat(sysfs_path, &stat_buf)) return -1; diff --git a/extras/scsi_id/scsi_id.h b/extras/scsi_id/scsi_id.h index eb9498ab71..cb27e88a5f 100644 --- a/extras/scsi_id/scsi_id.h +++ b/extras/scsi_id/scsi_id.h @@ -42,8 +42,14 @@ static inline char *sysfs_get_attr(struct sysfs_class_device *dev, const char *attr) { - return sysfs_get_value_from_attributes(dev->directory->attributes, - attr); + struct dlist *attributes = NULL; + + attributes = sysfs_get_classdev_attributes(dev); + + if (attributes == NULL) + return NULL; + + return sysfs_get_value_from_attributes(attributes, attr); } extern int scsi_get_serial (struct sysfs_class_device *scsi_dev,