From 87a0a6a3d5c11fa8cb71f2ba8ccb0454a40d3af4 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 2 Dec 2006 20:13:31 +0000 Subject: [PATCH] Avoided unsuitable media complaint on burn_drive_grab() with load==0 --- libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- libburn/trunk/libburn/drive.c | 9 +++++++-- libburn/trunk/libburn/mmc.c | 15 +++++++++------ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 4c3a0636..b6c43d35 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2006.12.02.130631" +#define Cdrskin_timestamP "2006.12.02.201405" diff --git a/libburn/trunk/libburn/drive.c b/libburn/trunk/libburn/drive.c index bab5e565..8f1bd9a4 100644 --- a/libburn/trunk/libburn/drive.c +++ b/libburn/trunk/libburn/drive.c @@ -201,8 +201,8 @@ int burn_drive_inquire_media(struct burn_drive *d) int burn_drive_grab(struct burn_drive *d, int le) { int errcode; - /* ts A61125 */ - int ret; + /* ts A61125 - A61202 */ + int ret, sose; if (!d->released) { burn_print(1, "can't grab - already grabbed\n"); @@ -225,8 +225,13 @@ int burn_drive_grab(struct burn_drive *d, int le) /* ts A61118 */ d->start_unit(d); + /* ts A61202 : gave bit1 of le a meaning */ + sose = d->silent_on_scsi_error; + if (!le) + d->silent_on_scsi_error = 1; /* ts A61125 : outsourced media state inquiry aspects */ ret = burn_drive_inquire_media(d); + d->silent_on_scsi_error = sose; return ret; } diff --git a/libburn/trunk/libburn/mmc.c b/libburn/trunk/libburn/mmc.c index f5a124da..225ff42f 100644 --- a/libburn/trunk/libburn/mmc.c +++ b/libburn/trunk/libburn/mmc.c @@ -478,12 +478,15 @@ void mmc_read_disc_info(struct burn_drive *d) mmc_get_configuration(d); if ((d->current_profile != 0 || d->status != BURN_DISC_UNREADY) && ! d->current_is_cd_profile) { - sprintf(msg, "Unsuitable media detected. Profile %4.4Xh %s", - d->current_profile, d->current_profile_text); - libdax_msgs_submit(libdax_messenger, d->global_index, - 0x0002011e, - LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH, - msg, 0,0); + if (!d->silent_on_scsi_error) { + sprintf(msg, + "Unsuitable media detected. Profile %4.4Xh %s", + d->current_profile, d->current_profile_text); + libdax_msgs_submit(libdax_messenger, d->global_index, + 0x0002011e, + LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH, + msg, 0,0); + } d->status = BURN_DISC_UNSUITABLE; return; }