scsi_cmd_set(udev, &sc, 4, 36);
scsi_cmd_set(udev, &sc, 5, 0);
err = scsi_cmd_run(udev, &sc, fd, inq, 36);
- if ((err < 0)) {
+ if ((err != 0)) {
info_scsi_cmd_err(udev, "INQUIRY", err);
return -1;
}
scsi_cmd_set(udev, &sc, 8, sizeof(features) & 0xff);
scsi_cmd_set(udev, &sc, 9, 0);
err = scsi_cmd_run(udev, &sc, fd, features, sizeof(features));
- if ((err < 0)) {
+ if ((err != 0)) {
info_scsi_cmd_err(udev, "GET CONFIGURATION", err);
return -1;
}
len = features[0] << 24 | features[1] << 16 | features[2] << 8 | features[3];
- info(udev, "GET CONFIGURATION: size of features buffer %i\n", len);
+ info(udev, "GET CONFIGURATION: size of features buffer 0x%04x\n", len);
if (len > sizeof(features)) {
info(udev, "can not get features in a single query, truncating\n");
case 0x00:
info(udev, "GET CONFIGURATION: feature 'profiles', with %i entries\n", features[i+3] / 4);
feature_profiles(udev, &features[i]+4, features[i+3]);
-
- /* set current profile, if we got a profiles section */
- cur_profile = features[6] << 8 | features[7];
- info(udev, "current profile 0x%02x\n", cur_profile);
break;
default:
- info(udev, "GET CONFIGURATION: feature %i <ignored>, with %i bytes\n", feature, features[i+3]);
+ info(udev, "GET CONFIGURATION: feature 0x%04x <ignored>, with 0x%02x bytes\n", feature, features[i+3]);
break;
}
}
- if (cur_profile == 0) {
+ cur_profile = features[6] << 8 | features[7];
+ if (cur_profile > 0) {
+ info(udev, "current profile 0x%02x\n", cur_profile);
+ } else {
info(udev, "no current profile, assuming no media\n");
return -1;
}
case 0x03:
case 0x04:
case 0x05:
+ info(udev, "profile 0x%02x \n", cur_profile);
cd_media_mo = 1;
break;
case 0x08:
+ info(udev, "profile 0x%02x media_cd_rom\n", cur_profile);
cd_media_cd_rom = 1;
break;
case 0x09:
+ info(udev, "profile 0x%02x media_cd_r\n", cur_profile);
cd_media_cd_r = 1;
break;
case 0x0a:
+ info(udev, "profile 0x%02x media_cd_rw\n", cur_profile);
cd_media_cd_rw = 1;
break;
case 0x10:
+ info(udev, "profile 0x%02x media_dvd_ro\n", cur_profile);
cd_media_dvd_rom = 1;
break;
case 0x11:
+ info(udev, "profile 0x%02x media_dvd_r\n", cur_profile);
cd_media_dvd_r = 1;
break;
case 0x12:
+ info(udev, "profile 0x%02x media_dvd_ram\n", cur_profile);
cd_media_dvd_ram = 1;
break;
case 0x13:
case 0x14:
+ info(udev, "profile 0x%02x media_dvd_rw\n", cur_profile);
cd_media_dvd_rw = 1;
break;
case 0x1B:
+ info(udev, "profile 0x%02x media_dvd_plus_r\n", cur_profile);
cd_media_dvd_plus_r = 1;
break;
case 0x1A:
+ info(udev, "profile 0x%02x media_dvd_plus_rw\n", cur_profile);
cd_media_dvd_plus_rw = 1;
break;
case 0x2A:
+ info(udev, "profile 0x%02x media_dvd_plus_rw_dl\n", cur_profile);
cd_media_dvd_plus_rw_dl = 1;
break;
case 0x2B:
+ info(udev, "profile 0x%02x media_dvd_plus_r_dl\n", cur_profile);
cd_media_dvd_plus_r_dl = 1;
break;
case 0x40:
+ info(udev, "profile 0x%02x media_bd\n", cur_profile);
cd_media_bd = 1;
break;
case 0x41:
case 0x42:
+ info(udev, "profile 0x%02x media_bd_r\n", cur_profile);
cd_media_bd_r = 1;
break;
case 0x43:
+ info(udev, "profile 0x%02x media_bd_re\n", cur_profile);
cd_media_bd_re = 1;
break;
case 0x50:
+ info(udev, "profile 0x%02x media_hddvd\n", cur_profile);
cd_media_hddvd = 1;
break;
case 0x51:
+ info(udev, "profile 0x%02x media_hddvd_r\n", cur_profile);
cd_media_hddvd_r = 1;
break;
case 0x52:
+ info(udev, "profile 0x%02x media_hddvd_rw\n", cur_profile);
cd_media_hddvd_rw = 1;
break;
default:
+ info(udev, "profile 0x%02x <ignored>\n", cur_profile);
break;
}
return 0;
scsi_cmd_set(udev, &sc, 8, sizeof(header));
scsi_cmd_set(udev, &sc, 9, 0);
err = scsi_cmd_run(udev, &sc, fd, header, sizeof(header));
- if ((err < 0)) {
+ if ((err != 0)) {
info_scsi_cmd_err(udev, "READ DISC INFORMATION", err);
return -1;
};
scsi_cmd_set(udev, &sc, 8, sizeof(header));
scsi_cmd_set(udev, &sc, 9, 0);
err = scsi_cmd_run(udev, &sc, fd, header, sizeof(header));
- if ((err < 0)) {
+ if ((err != 0)) {
info_scsi_cmd_err(udev, "READ TOC", err);
return -1;
}
scsi_cmd_set(udev, &sc, 8, len);
scsi_cmd_set(udev, &sc, 9, 0);
err = scsi_cmd_run(udev, &sc, fd, toc, len);
- if ((err < 0)) {
+ if ((err != 0)) {
info_scsi_cmd_err(udev, "READ TOC (tracks)", err);
return -1;
}
scsi_cmd_set(udev, &sc, 8, 12);
scsi_cmd_set(udev, &sc, 9, 0);
err = scsi_cmd_run(udev, &sc, fd, header, sizeof(header));
- if ((err < 0)) {
+ if ((err != 0)) {
info_scsi_cmd_err(udev, "READ TOC (multi session)", err);
return -1;
}