1. 05 3月, 2009 1 次提交
  2. 03 2月, 2009 2 次提交
  3. 19 1月, 2009 1 次提交
    • A
      ide: fix IDE PMAC breakage · bb54affa
      Andreas Schwab 提交于
      Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> writes:
      
      > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      > ---
      >  drivers/ide/ide-probe.c |    9 ++-------
      >  1 file changed, 2 insertions(+), 7 deletions(-)
      >
      > Index: b/drivers/ide/ide-probe.c
      > ===================================================================
      > --- a/drivers/ide/ide-probe.c
      > +++ b/drivers/ide/ide-probe.c
      > @@ -640,14 +640,9 @@ static int ide_register_port(ide_hwif_t 
      >  	/* register with global device tree */
      >  	dev_set_name(&hwif->gendev, hwif->name);
      >  	hwif->gendev.driver_data = hwif;
      > -	if (hwif->gendev.parent == NULL) {
      > -		if (hwif->dev)
      > -			hwif->gendev.parent = hwif->dev;
      > -		else
      > -			/* Would like to do = &device_legacy */
      > -			hwif->gendev.parent = NULL;
      > -	}
      > +	hwif->gendev.parent = hwif->dev;
      
      This [bart: commit 96d40941 ("ide: small
      ide_register_port() cleanup")] breaks ide-pmac.  It overwrites the parent
      that pmac_ide_macio_attach has set.
      Signed-off-by: NAndreas Schwab <schwab@suse.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      bb54affa
  4. 15 1月, 2009 1 次提交
  5. 07 1月, 2009 12 次提交
  6. 02 1月, 2009 6 次提交
  7. 30 12月, 2008 10 次提交
  8. 03 12月, 2008 1 次提交
  9. 18 10月, 2008 1 次提交
  10. 17 10月, 2008 1 次提交
  11. 14 10月, 2008 4 次提交
    • E
      ide: Implement disk shock protection support (v4) · 4abdc6ee
      Elias Oltmanns 提交于
      On user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD
      FEATURE as specified in ATA-7 is issued to the device and processing of
      the request queue is stopped thereafter until the specified timeout
      expires or user space asks to resume normal operation. This is supposed
      to prevent the heads of a hard drive from accidentally crashing onto the
      platter when a heavy shock is anticipated (like a falling laptop expected
      to hit the floor). Port resets are deferred whenever a device on that
      port is in the parked state.
      
      v3:
      Elias Oltmanns <eo@nebensachen.de> wrote:
      [...]
      > >> 1. Make sure that no negative value is being passed to
      > >>    jiffies_to_msecs() in ide_park_show().
      > >> 2. Drop the superfluous variable hwif in ide_special_rq().
      > >> 3. Skip initialisation of task and tf in ide_special_rq() if we are not
      > >>    handling a (un)park request.
      > >
      > > Well, #3 should have been done differently because we donn't want to
      > > check for REQ_(UN)?PARK_HEADS more often than is necessary.
      > 
      > While preparing the backport to 2.6.27, it has just occurred to me that
      > we need to clear the IDE_DFLAG_PARKED flag in ide_disk_pre_reset()
      > because this flag must not be set after *any* sort of access to the
      > device.
      
      v4:
      Fix a memory leak due to a missing blk_put_request() in
      issue_park_cmd(). Additionally, we should plug the queue when enqueueing
      the unpark request because there is no guarantee that the park timeout
      has not expired by then. Even though the chance for that to happen is
      very slim, the request might end up hanging in the queue until the next
      I/O operation is queued up. While at it, clean up the code a little:
      - make issue_park_cmd() a function of type void since nobody cares for
        the return value anyway;
      - use blk_start_queueing() instead of __blk_run_queue() since we don't
        have to worry about recursion;
      - remove a superfluous pointer deference in task_no_data_intr().
      Signed-off-by: NElias Oltmanns <eo@nebensachen.de>
      Cc: Jeff Garzik <jeff@garzik.org>,
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Tejun Heo <htejun@gmail.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4abdc6ee
    • E
      ide: Two fixes regarding memory allocation · e415e495
      Elias Oltmanns 提交于
      In function ide_devset_execute() we should use __GFP_WAIT rather than
      GFP_KERNEL. Also, the allocation cannot possibly fail at that point.
      More importantly, there is a potential memory leak in the device probing
      code. The infrastructure seems rather complex and I hope I haven't messed
      anything up by trying to fix this.
      Signed-off-by: NElias Oltmanns <eo@nebensachen.de>
      [bart: remove superfluous ide_lock taking]
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      e415e495
    • B
      ide: set IDE_AFLAG_DRQ_INTERRUPT in do_identify() · 4ab3d502
      Bartlomiej Zolnierkiewicz 提交于
      Set IDE_AFLAG_DRQ_INTERRUPT in do_identify() instead of ATAPI
      device drivers *_setup() methods.
      
      While at it:
      - use ata_id_cdb_intr()
      
      There should be no functional changes caused by this patch.
      
      Cc: Borislav Petkov <petkovbb@gmail.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4ab3d502
    • B
      ide: remove ide_host_alloc_all() · a36223b0
      Bartlomiej Zolnierkiewicz 提交于
      * Remove no longer used ide_host_alloc_all().
      
      * Add MAX_HOST_PORTS define and use it instead of MAX_HWIFS
        as the maximum number of host ports possible.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      a36223b0