Browse Source

firewire: fw-sbp2: implement max sectors limit for some old bridges

This currently only affects one bridge in the hardwired blacklist.
I don't own one of those, hence haven't tested it.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Stefan Richter 18 years ago
parent
commit
cf47c7a26c
1 changed files with 3 additions and 1 deletions
  1. 3 1
      drivers/firewire/fw-sbp2.c

+ 3 - 1
drivers/firewire/fw-sbp2.c

@@ -34,6 +34,7 @@
 #include <linux/device.h>
 #include <linux/device.h>
 #include <linux/scatterlist.h>
 #include <linux/scatterlist.h>
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
+#include <linux/blkdev.h>
 #include <linux/timer.h>
 #include <linux/timer.h>
 
 
 #include <scsi/scsi.h>
 #include <scsi/scsi.h>
@@ -1080,7 +1081,8 @@ static int sbp2_scsi_slave_configure(struct scsi_device *sdev)
 		fw_notify("setting fix_capacity for %s\n", unit->device.bus_id);
 		fw_notify("setting fix_capacity for %s\n", unit->device.bus_id);
 		sdev->fix_capacity = 1;
 		sdev->fix_capacity = 1;
 	}
 	}
-
+	if (sd->workarounds & SBP2_WORKAROUND_128K_MAX_TRANS)
+		blk_queue_max_sectors(sdev->request_queue, 128 * 1024 / 512);
 	return 0;
 	return 0;
 }
 }