--- ./libs/libmyth/mythcdrom-linux.cpp.orig 2008-12-22 09:56:00.000000000 +0000 +++ ./libs/libmyth/mythcdrom-linux.cpp 2008-12-22 09:59:50.000000000 +0000 @@ -712,15 +712,20 @@ buffer[18] = buffer[26] = 0x03; buffer[19] = buffer[27] = 0xe8; - // On my system (2.6.18 + ide-cd), SG_IO succeeds without doing anything, - // while CDROM_SELECT_SPEED works... - if (ioctl(fd, CDROM_SELECT_SPEED, speed) < 0) + if (ioctl(fd, SG_IO, &sghdr) < 0) { - if (ioctl(fd, SG_IO, &sghdr) < 0) - VERBOSE(VB_MEDIA, LOC_ERR + "Limit CD/DVD Speed Failed"); + VERBOSE(VB_MEDIA, LOC_ERR + "Limit CD/DVD Speed Failed"); } - else + else + { + // On my system (2.6.18 + ide-cd), SG_IO succeeds without doing anything, + // while CDROM_SELECT_SPEED works... + if (ioctl(fd, CDROM_SELECT_SPEED, speed) < 0) + { + VERBOSE(VB_MEDIA, LOC_ERR + "Limit CD/DVD CDROM_SELECT_SPEED Failed"); + } VERBOSE(VB_MEDIA, LOC + ":setSpeed() - CD/DVD Speed Set Successful"); + } close(fd); }