diff --git a/[refs] b/[refs] index 735083cb4d28..bdeea8bfecc5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 24920a79a27dd28e67088bbfcf36746d15587f4d +refs/heads/master: f2f1fa78a155524b849edf359e42a3001ea652c0 diff --git a/trunk/block/bsg.c b/trunk/block/bsg.c index e8bd2475682a..e73e50daf3d0 100644 --- a/trunk/block/bsg.c +++ b/trunk/block/bsg.c @@ -202,6 +202,8 @@ static int blk_fill_sgv4_hdr_rq(struct request_queue *q, struct request *rq, rq->timeout = q->sg_timeout; if (!rq->timeout) rq->timeout = BLK_DEFAULT_SG_TIMEOUT; + if (rq->timeout < BLK_MIN_SG_TIMEOUT) + rq->timeout = BLK_MIN_SG_TIMEOUT; return 0; } diff --git a/trunk/block/scsi_ioctl.c b/trunk/block/scsi_ioctl.c index 5963cf91a3a0..d0bb92cbefb9 100644 --- a/trunk/block/scsi_ioctl.c +++ b/trunk/block/scsi_ioctl.c @@ -208,6 +208,8 @@ static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq, rq->timeout = q->sg_timeout; if (!rq->timeout) rq->timeout = BLK_DEFAULT_SG_TIMEOUT; + if (rq->timeout < BLK_MIN_SG_TIMEOUT) + rq->timeout = BLK_MIN_SG_TIMEOUT; return 0; } diff --git a/trunk/include/linux/blkdev.h b/trunk/include/linux/blkdev.h index 6dcd30d806cd..031a315c0509 100644 --- a/trunk/include/linux/blkdev.h +++ b/trunk/include/linux/blkdev.h @@ -662,6 +662,7 @@ extern unsigned long blk_max_low_pfn, blk_max_pfn; * default timeout for SG_IO if none specified */ #define BLK_DEFAULT_SG_TIMEOUT (60 * HZ) +#define BLK_MIN_SG_TIMEOUT (7 * HZ) #ifdef CONFIG_BOUNCE extern int init_emergency_isa_pool(void);