|
@@ -4927,10 +4927,14 @@ static void dasd_eckd_dump_sense(struct dasd_device *device,
|
|
|
dasd_eckd_dump_sense_tcw(device, req, irb);
|
|
|
} else {
|
|
|
/*
|
|
|
- * In some cases the 'No Record Found' error might be expected
|
|
|
- * and log messages shouldn't be written then. Check if the
|
|
|
- * according suppress bit is set.
|
|
|
+ * In some cases the 'Command Reject' or 'No Record Found'
|
|
|
+ * error might be expected and log messages shouldn't be
|
|
|
+ * written then. Check if the according suppress bit is set.
|
|
|
*/
|
|
|
+ if (sense && sense[0] & SNS0_CMD_REJECT &&
|
|
|
+ test_bit(DASD_CQR_SUPPRESS_CR, &req->flags))
|
|
|
+ return;
|
|
|
+
|
|
|
if (sense && sense[1] & SNS1_NO_REC_FOUND &&
|
|
|
test_bit(DASD_CQR_SUPPRESS_NRF, &req->flags))
|
|
|
return;
|
|
@@ -5223,6 +5227,8 @@ static int dasd_eckd_query_host_access(struct dasd_device *device,
|
|
|
|
|
|
cqr->buildclk = get_tod_clock();
|
|
|
cqr->status = DASD_CQR_FILLED;
|
|
|
+ /* the command might not be supported, suppress error message */
|
|
|
+ __set_bit(DASD_CQR_SUPPRESS_CR, &cqr->flags);
|
|
|
rc = dasd_sleep_on_interruptible(cqr);
|
|
|
if (rc == 0) {
|
|
|
*data = *host_access;
|