fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / cdrom / cdu31a.c
index 37bdb01..2157c58 100644 (file)
@@ -513,7 +513,7 @@ static inline void write_cmd(unsigned char cmd)
        outb(cmd, sony_cd_cmd_reg);
 }
 
-static irqreturn_t cdu31a_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t cdu31a_interrupt(int irq, void *dev_id)
 {
        unsigned char val;
 
@@ -1338,8 +1338,10 @@ static void do_cdu31a_request(request_queue_t * q)
                }
 
                /* WTF??? */
-               if (!(req->flags & REQ_CMD))
+               if (!blk_fs_request(req)) {
+                       end_request(req, 0);
                        continue;
+               }
                if (rq_data_dir(req) == WRITE) {
                        end_request(req, 0);
                        continue;