aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libfc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/libfc')
-rw-r--r--drivers/scsi/libfc/fc_fcp.c27
1 files changed, 0 insertions, 27 deletions
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c
index 2069edf80268..7d5ffcbbf39b 100644
--- a/drivers/scsi/libfc/fc_fcp.c
+++ b/drivers/scsi/libfc/fc_fcp.c
@@ -507,33 +507,6 @@ static int fc_fcp_send_data(struct fc_fcp_pkt *fsp, struct fc_seq *seq,
507 f_ctl = FC_FC_REL_OFF; 507 f_ctl = FC_FC_REL_OFF;
508 WARN_ON(!seq); 508 WARN_ON(!seq);
509 509
510 /*
511 * If a get_page()/put_page() will fail, don't use sg lists
512 * in the fc_frame structure.
513 *
514 * The put_page() may be long after the I/O has completed
515 * in the case of FCoE, since the network driver does it
516 * via free_skb(). See the test in free_pages_check().
517 *
518 * Test this case with 'dd </dev/zero >/dev/st0 bs=64k'.
519 */
520 if (using_sg) {
521 for (sg = scsi_sglist(sc); sg; sg = sg_next(sg)) {
522 if (page_count(sg_page(sg)) == 0 ||
523 (sg_page(sg)->flags & (1 << PG_lru |
524 1 << PG_private |
525 1 << PG_locked |
526 1 << PG_active |
527 1 << PG_slab |
528 1 << PG_swapcache |
529 1 << PG_writeback |
530 1 << PG_reserved |
531 1 << PG_buddy))) {
532 using_sg = 0;
533 break;
534 }
535 }
536 }
537 sg = scsi_sglist(sc); 510 sg = scsi_sglist(sc);
538 511
539 while (remaining > 0 && sg) { 512 while (remaining > 0 && sg) {