fix mismerge in ll_rw_blk.c
[sfrench/cifs-2.6.git] / drivers / ide / ide-disk.c
index 3302cd8eab4c160caf430c1a22268abcc024e5e9..234f5de3e929b6c0d10ee46a994e200f16f62646 100644 (file)
@@ -119,6 +119,10 @@ static int lba_capacity_is_ok (struct hd_driveid *id)
 {
        unsigned long lba_sects, chs_sects, head, tail;
 
+       /* No non-LBA info .. so valid! */
+       if (id->cyls == 0)
+               return 1;
+
        /*
         * The ATA spec tells large drives to return
         * C/H/S = 16383/16/63 independent of their size.
@@ -750,7 +754,7 @@ static int idedisk_issue_flush(request_queue_t *q, struct gendisk *disk,
 
        idedisk_prepare_flush(q, rq);
 
-       ret = blk_execute_rq(q, disk, rq);
+       ret = blk_execute_rq(q, disk, rq, 0);
 
        /*
         * if we failed and caller wants error offset, get it
@@ -1215,7 +1219,8 @@ static int ide_disk_probe(struct device *dev)
        if (!idkp)
                goto failed;
 
-       g = alloc_disk(1 << PARTN_BITS);
+       g = alloc_disk_node(1 << PARTN_BITS,
+                       hwif_to_node(drive->hwif));
        if (!g)
                goto out_free_idkp;