]> Pileus Git - ~andy/linux/blobdiff - drivers/block/xen-blkfront.c
usb: phy: don't check resource with devm_ioremap_resource
[~andy/linux] / drivers / block / xen-blkfront.c
index 1a0f67c10ec7285f53ccc9afcbd5cbdfb99ac555..a4660bbee8a6279bd4cc1a6def776ddc85bcf169 100644 (file)
@@ -633,7 +633,7 @@ static int xlvbd_init_blk_queue(struct gendisk *gd, u16 sector_size,
        /* Hard sector size and max sectors impersonate the equiv. hardware. */
        blk_queue_logical_block_size(rq, sector_size);
        blk_queue_physical_block_size(rq, physical_sector_size);
-       blk_queue_max_hw_sectors(rq, 512);
+       blk_queue_max_hw_sectors(rq, (segments * PAGE_SIZE) / 512);
 
        /* Each segment in a request is up to an aligned page in size. */
        blk_queue_segment_boundary(rq, PAGE_SIZE - 1);
@@ -1949,7 +1949,7 @@ out:
        return err;
 }
 
-static int blkif_release(struct gendisk *disk, fmode_t mode)
+static void blkif_release(struct gendisk *disk, fmode_t mode)
 {
        struct blkfront_info *info = disk->private_data;
        struct block_device *bdev;
@@ -1990,7 +1990,6 @@ static int blkif_release(struct gendisk *disk, fmode_t mode)
 out:
        bdput(bdev);
        mutex_unlock(&blkfront_mutex);
-       return 0;
 }
 
 static const struct block_device_operations xlvbd_block_fops =