]> git.hungrycats.org Git - linux/commitdiff
Merge
authorLinus Torvalds <torvalds@home.transmeta.com>
Fri, 18 Oct 2002 03:09:37 +0000 (20:09 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Fri, 18 Oct 2002 03:09:37 +0000 (20:09 -0700)
1  2 
arch/ia64/ia32/sys_ia32.c
arch/ppc64/kernel/sys_ppc32.c
arch/s390x/kernel/linux32.c
arch/sparc64/kernel/sys_sparc32.c
drivers/block/rd.c
drivers/cdrom/gscd.c
drivers/cdrom/sbpcd.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index bd1782a4ccd62dc60992d3bd8539272b54a7d7f3,bfdc1c03e7a88ce5f972295925b4ca25c00a7f9b..44ed8327f7950132ae0c45b8db21398a848d7468
@@@ -252,24 -265,23 +252,24 @@@ static void do_gscd_request(request_que
  
  static void __do_gscd_request(unsigned long dummy)
  {
 -      unsigned int block, dev;
 +      struct request *req;
 +      unsigned int block;
        unsigned int nsect;
  
 -      repeat:
 -      if (blk_queue_empty(QUEUE))
 +repeat:
 +      if (blk_queue_empty(&gscd_queue))
                return;
  
 -      dev = minor(CURRENT->rq_dev);
 -      block = CURRENT->sector;
 -      nsect = CURRENT->nr_sectors;
 +      req = elv_next_request(&gscd_queue);
 +      block = req->sector;
 +      nsect = req->nr_sectors;
  
 -      if (CURRENT->sector == -1)
 +      if (req->sector == -1)
                goto out;
  
 -      if (CURRENT->cmd != READ) {
 -              printk("GSCD: bad cmd %d\n", CURRENT->cmd);
 -              end_request(CURRENT, 0);
 +      if (req->cmd != READ) {
-               printk("GSCD: bad cmd %p\n", req->cmd);
++              printk("GSCD: bad cmd %d\n", req->cmd);
 +              end_request(req, 0);
                goto repeat;
        }
  
index 3515facff9e1b84925a18781a17e9aeb96ca1872,74eeee503e379013d3499cdfc9439b0ad87327b1..58eaf08e4d578e7bdbf753573984901e7255777f
@@@ -4851,29 -4859,30 +4860,27 @@@ static void do_sbpcd_request(request_qu
                return;
        }
  
 +      req = elv_next_request(q);
 +
        printk(" do_sbpcd_request[%di](%p:%ld+%ld), Pid:%d, Time:%li\n",
 -              xnr, CURRENT, CURRENT->sector, CURRENT->nr_sectors, current->pid, jiffies);
 +              xnr, req, req->sector, req->nr_sectors, current->pid, jiffies);
  #endif
 -      if (blk_queue_empty(QUEUE))
 +      if (blk_queue_empty(q))
                return;
  
 -      req = CURRENT;
 +      req = elv_next_request(q);              /* take out our request so no other */
-       blkdev_dequeue_request(req);    /* task can fuck it up         GTL  */
  
        if (req -> sector == -1)
 -              end_request(CURRENT, 0);
 +              end_request(req, 0);
        spin_unlock_irq(q->queue_lock);
  
        down(&ioctl_read_sem);
-       if (req->cmd != READ)
+       if (rq_data_dir(CURRENT) != READ)
        {
-               msg(DBG_INF, "bad cmd %d\n", req->cmd);
+               msg(DBG_INF, "bad cmd %d\n", req->cmd[0]);
                goto err_done;
        }
 -      p = D_S + minor(req->rq_dev);
 -      if (p->drv_id==-1) {
 -              msg(DBG_INF, "do_request: bad device: %s\n",
 -                      kdevname(req->rq_dev));
 -              goto err_done;
 -      }
 +      p = req->rq_disk->private_data;
  #if OLD_BUSY
        while (busy_audio) sbp_sleep(HZ); /* wait a bit */
        busy_data=1;
@@@ -5793,11 -5783,10 +5806,10 @@@ int __init sbpcd_init(void
                goto init_done;
  #endif /* MODULE */
        }
 -      blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), do_sbpcd_request, &sbpcd_lock);
 +      blk_init_queue(&sbpcd_queue, do_sbpcd_request, &sbpcd_lock);
  
-       request_region(CDo_command,4,major_name);
        devfs_handle = devfs_mk_dir (NULL, "sbp", NULL);
        for (j=0;j<NR_SBPCD;j++)
        {
                struct cdrom_device_info * sbpcd_infop;