]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'parisc' of master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
authorLinus Torvalds <torvalds@g5.osdl.org>
Fri, 18 Nov 2005 22:25:40 +0000 (14:25 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 18 Nov 2005 22:25:40 +0000 (14:25 -0800)
block/as-iosched.c
block/cfq-iosched.c
block/deadline-iosched.c
block/elevator.c
block/ll_rw_blk.c
drivers/block/cciss.c
include/linux/cciss_ioctl.h

index a78e160b59a3545b8a06b78e2c78e503f1494d24..fbe050124ec514431c19091d395fa9065b2398a4 100644 (file)
@@ -1,6 +1,4 @@
 /*
- *  linux/drivers/block/as-iosched.c
- *
  *  Anticipatory & deadline i/o scheduler.
  *
  *  Copyright (C) 2002 Jens Axboe <axboe@suse.de>
index 2b64f5852bfd7bb64afe6317d8df72d300c6a6e9..ee0bb41694b05b5fbfc0efd111e60990e8116728 100644 (file)
@@ -1,6 +1,4 @@
 /*
- *  linux/drivers/block/cfq-iosched.c
- *
  *  CFQ, or complete fairness queueing, disk scheduler.
  *
  *  Based on ideas from a previously unfinished io
index 7929471d7df7efb6a6f885f698da89c8f4c76cf7..9cbec09e8415fa83ecb828c91d30eb43ce16cfec 100644 (file)
@@ -1,6 +1,4 @@
 /*
- *  linux/drivers/block/deadline-iosched.c
- *
  *  Deadline i/o scheduler.
  *
  *  Copyright (C) 2002 Jens Axboe <axboe@suse.de>
index e4c58827bb4660bc21bef638a3c9a926b2fc49c1..6c3fc8a10bf210f8cfcb8def13981c6274246b11 100644 (file)
@@ -1,6 +1,4 @@
 /*
- *  linux/drivers/block/elevator.c
- *
  *  Block device elevator/IO-scheduler.
  *
  *  Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE
index 5f52e30b43f812c75cef8289571e9a1a35bd2808..99c9ca6d5992ab18b3e40fa201423bd3e36a0055 100644 (file)
@@ -1,6 +1,4 @@
 /*
- *  linux/drivers/block/ll_rw_blk.c
- *
  * Copyright (C) 1991, 1992 Linus Torvalds
  * Copyright (C) 1994,      Karl Keyte: Added support for disk statistics
  * Elevator latency, (C) 2000  Andrea Arcangeli <andrea@suse.de> SuSE
index e239a6c2923052c4271f5d6414d7eec87f85b508..a9e33db46e68b5432627835ea1945f02d40d861c 100644 (file)
@@ -1017,10 +1017,11 @@ static int cciss_ioctl(struct inode *inode, struct file *filep,
                                status = -ENOMEM;
                                goto cleanup1;
                        }
-                       if (ioc->Request.Type.Direction == XFER_WRITE &&
-                               copy_from_user(buff[sg_used], data_ptr, sz)) {
+                       if (ioc->Request.Type.Direction == XFER_WRITE) {
+                               if (copy_from_user(buff[sg_used], data_ptr, sz)) {
                                        status = -ENOMEM;
-                                       goto cleanup1;                  
+                                       goto cleanup1;
+                               }
                        } else {
                                memset(buff[sg_used], 0, sz);
                        }
@@ -1138,8 +1139,15 @@ static int revalidate_allvol(ctlr_info_t *host)
 
        for(i=0; i< NWD; i++) {
                struct gendisk *disk = host->gendisk[i];
-               if (disk->flags & GENHD_FL_UP)
-                       del_gendisk(disk);
+               if (disk) {
+                       request_queue_t *q = disk->queue;
+
+                       if (disk->flags & GENHD_FL_UP)
+                               del_gendisk(disk);
+                       if (q)
+                               blk_cleanup_queue(q);
+                       put_disk(disk);
+               }
        }
 
         /*
@@ -1453,10 +1461,13 @@ static int deregister_disk(struct gendisk *disk, drive_info_struct *drv,
         * allows us to delete disk zero but keep the controller registered.
        */
        if (h->gendisk[0] != disk){
-               if (disk->flags & GENHD_FL_UP){
-                       blk_cleanup_queue(disk->queue);
-               del_gendisk(disk);
-                       drv->queue = NULL;
+               if (disk) {
+                       request_queue_t *q = disk->queue;
+                       if (disk->flags & GENHD_FL_UP)
+                               del_gendisk(disk);
+                       if (q)  
+                               blk_cleanup_queue(q);
+                       put_disk(disk); 
                }
        }
 
@@ -3225,9 +3236,14 @@ static void __devexit cciss_remove_one (struct pci_dev *pdev)
        /* remove it from the disk list */
        for (j = 0; j < NWD; j++) {
                struct gendisk *disk = hba[i]->gendisk[j];
-               if (disk->flags & GENHD_FL_UP) {
-                       del_gendisk(disk);
-                       blk_cleanup_queue(disk->queue);
+               if (disk) {
+                       request_queue_t *q = disk->queue;
+
+                       if (disk->flags & GENHD_FL_UP) 
+                               del_gendisk(disk);
+                       if (q)
+                               blk_cleanup_queue(q);
+                       put_disk(disk);
                }
        }
 
index 424d5e622b4331ba31b7cc83002a3f97aa5aec3f..6e27f42e3a57d12059800a088112b979aa7d5516 100644 (file)
@@ -10,8 +10,8 @@
 typedef struct _cciss_pci_info_struct
 {
        unsigned char   bus;
-       unsigned short  domain;
        unsigned char   dev_fn;
+       unsigned short  domain;
        __u32           board_id;
 } cciss_pci_info_struct;