Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Fri, 12 Jun 2009 16:29:42 +0000 (09:29 -0700)]
* 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (29 commits)
  ide: re-implement ide_pci_init_one() on top of ide_pci_init_two()
  ide: unexport ide_find_dma_mode()
  ide: fix PowerMac bootup oops
  ide: skip probe if there are no devices on the port (v2)
  sl82c105: add printk() logging facility
  ide-tape: fix proc warning
  ide: add IDE_DFLAG_NIEN_QUIRK device flag
  ide: respect quirk_drives[] list on all controllers
  hpt366: enable all quirks for devices on quirk_drives[] list
  hpt366: sync quirk_drives[] list with pdc202xx_{new,old}.c
  ide: remove superfluous SELECT_MASK() call from do_rw_taskfile()
  ide: remove superfluous SELECT_MASK() call from ide_driveid_update()
  icside: remove superfluous ->maskproc method
  ide-tape: fix IDE_AFLAG_* atomic accesses
  ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically
  pdc202xx_old: kill resetproc() method
  pdc202xx_old: don't call pdc202xx_reset() on IRQ timeout
  pdc202xx_old: use ide_dma_test_irq()
  ide: preserve Host Protected Area by default (v2)
  ide-gd: implement block device ->set_capacity method (v2)
  ...

12 files changed:
1  2 
Documentation/kernel-parameters.txt
drivers/ide/ide-atapi.c
drivers/ide/ide-disk.c
drivers/ide/ide-dma.c
drivers/ide/ide-io.c
drivers/ide/ide-tape.c
drivers/ide/ide-taskfile.c
drivers/ide/pdc202xx_old.c
drivers/ide/tx4939ide.c
fs/partitions/check.c
include/linux/blkdev.h
include/linux/genhd.h

Simple merge
@@@ -256,22 -255,13 +256,22 @@@ void ide_retry_pc(ide_drive_t *drive
        ide_init_pc(pc);
        memcpy(pc->c, sense_rq->cmd, 12);
        pc->buf = bio_data(sense_rq->bio);      /* pointer to mapped address */
 -      pc->req_xfer = sense_rq->data_len;
 +      pc->req_xfer = blk_rq_bytes(sense_rq);
  
        if (drive->media == ide_tape)
-               set_bit(IDE_AFLAG_IGNORE_DSC, &drive->atapi_flags);
+               drive->atapi_flags |= IDE_AFLAG_IGNORE_DSC;
  
 -      if (ide_queue_sense_rq(drive, pc))
 -              ide_complete_rq(drive, -EIO, blk_rq_bytes(drive->hwif->rq));
 +      /*
 +       * Push back the failed request and put request sense on top
 +       * of it.  The failed command will be retried after sense data
 +       * is acquired.
 +       */
 +      blk_requeue_request(failed_rq->q, failed_rq);
 +      drive->hwif->rq = NULL;
 +      if (ide_queue_sense_rq(drive, pc)) {
 +              blk_start_request(failed_rq);
 +              ide_complete_rq(drive, -EIO, blk_rq_bytes(failed_rq));
 +      }
  }
  EXPORT_SYMBOL_GPL(ide_retry_pc);
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge