Skip to content

Commit 6c2445e

Browse files
committed
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/linux-2.6-block: cdrom: beyond ARRAY_SIZE of viocd_diskinfo xen/blkfront: fix warning when deleting gendisk on unplug/shutdown xen/blkfront: allow xenbus state transition to Closing->Closed when not Connected
2 parents 929a865 + d3375ea commit 6c2445e

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

drivers/block/xen-blkfront.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -934,8 +934,6 @@ static void blkfront_closing(struct xenbus_device *dev)
934934

935935
spin_lock_irqsave(&blkif_io_lock, flags);
936936

937-
del_gendisk(info->gd);
938-
939937
/* No more blkif_request(). */
940938
blk_stop_queue(info->rq);
941939

@@ -949,6 +947,8 @@ static void blkfront_closing(struct xenbus_device *dev)
949947
blk_cleanup_queue(info->rq);
950948
info->rq = NULL;
951949

950+
del_gendisk(info->gd);
951+
952952
out:
953953
xenbus_frontend_closed(dev);
954954
}
@@ -977,8 +977,10 @@ static void backend_changed(struct xenbus_device *dev,
977977
break;
978978

979979
case XenbusStateClosing:
980-
if (info->gd == NULL)
981-
xenbus_dev_fatal(dev, -ENODEV, "gd is NULL");
980+
if (info->gd == NULL) {
981+
xenbus_frontend_closed(dev);
982+
break;
983+
}
982984
bd = bdget_disk(info->gd, 0);
983985
if (bd == NULL)
984986
xenbus_dev_fatal(dev, -ENODEV, "bdget failed");

drivers/cdrom/viocd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ static int viocd_probe(struct vio_dev *vdev, const struct vio_device_id *id)
587587
struct device_node *node = vdev->dev.archdata.of_node;
588588

589589
deviceno = vdev->unit_address;
590-
if (deviceno > VIOCD_MAX_CD)
590+
if (deviceno >= VIOCD_MAX_CD)
591591
return -ENODEV;
592592
if (!node)
593593
return -ENODEV;

0 commit comments

Comments
 (0)