Source
492
492
break;
493
493
case READ_DEFECT_DATA:
494
494
rq->timeout = READ_DEFECT_DATA_TIMEOUT;
495
495
req->retries = 1;
496
496
break;
497
497
default:
498
498
rq->timeout = BLK_DEFAULT_SG_TIMEOUT;
499
499
break;
500
500
}
501
501
502
-
if (bytes && blk_rq_map_kern(q, rq, buffer, bytes, __GFP_RECLAIM)) {
502
+
if (bytes && blk_rq_map_kern(q, rq, buffer, bytes, GFP_NOIO)) {
503
503
err = DRIVER_ERROR << 24;
504
504
goto error;
505
505
}
506
506
507
507
blk_execute_rq(q, disk, rq, 0);
508
508
509
509
err = req->result & 0xff; /* only 8 bit SCSI status */
510
510
if (err) {
511
511
if (req->sense_len && req->sense) {
512
512
bytes = (OMAX_SB_LEN > req->sense_len) ?