1. 21 Apr, 2009 1 commit
  2. 18 Apr, 2009 30 commits
    • Tejun Heo's avatar
      ide: drop rq->data handling from ide_map_sg() · 2c316bb5
      Tejun Heo authored
      Impact: remove code path which is no longer necessary
      
      All IDE data transfers now use rq->bio.  Simplify ide_map_sg()
      accordingly.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <axboe@kernel.dk>
      2c316bb5
    • Tejun Heo's avatar
      ide-atapi: kill unused fields and callbacks · 6d700387
      Tejun Heo authored
      Impact: remove fields and code paths which are no longer necessary
      
      Now that ide-tape uses standard mechanisms to transfer data, special
      case handling for bh handling can be dropped from ide-atapi.  Drop the
      followings.
      
      * pc->cur_pos, b_count, bh and b_data
      * drive->pc_update_buffers() and pc_io_buffers().
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      6d700387
    • Tejun Heo's avatar
      ide-tape: simplify read/write functions · 07bd9686
      Tejun Heo authored
      Impact: cleanup
      
      idetape_chrdev_read/write() functions are unnecessarily complex when
      everything can be handled in a single loop.  Collapse
      idetape_add_chrdev_read/write_request() into the rw functions and
      simplify the implementation.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      07bd9686
    • Tejun Heo's avatar
      ide-tape: use byte size instead of sectors on rw issue functions · 6bb11dd1
      Tejun Heo authored
      Impact: cleanup
      
      Byte size is what most issue functions deal with, make
      idetape_queue_rw_tail() and its wrappers take byte size instead of
      sector counts.  idetape_chrdev_read() and write() functions are
      converted to use tape->buffer_size instead of ctl from tape->cap.
      
      This cleans up code a little bit and will ease the next r/w
      reimplementation.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      6bb11dd1
    • Tejun Heo's avatar
      ide-tape: unify r/w init paths · 88f1b941
      Tejun Heo authored
      Impact: cleanup
      
      Read and write init paths are almost identical.  Unify them into
      idetape_init_rw().
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      88f1b941
    • Tejun Heo's avatar
      ide-tape: kill idetape_bh · 963da55c
      Tejun Heo authored
      Impact: kill now unnecessary idetape_bh
      
      With everything using standard mechanisms, there is no need for
      idetape_bh anymore.  Kill it and use tape->buf, cur and valid to
      describe data buffer instead.
      
      Changes worth mentioning are...
      
      * idetape_queue_rq_tail() now always queue tape->buf and and adjusts
        buffer state properly before completion.
      
      * idetape_pad_zeros() clears the buffer only once.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      963da55c
    • Tejun Heo's avatar
      ide-tape: use standard data transfer mechanism · 21d9c5d2
      Tejun Heo authored
      Impact: use standard way to transfer data
      
      ide-tape uses rq in an interesting way.  For r/w requests, rq->special
      is used to carry a private buffer management structure idetape_bh and
      rq->nr_sectors and current_nr_sectors are initialized to the number of
      idetape blocks which isn't necessary 512 bytes.  Also,
      rq->current_nr_sectors is used to report back the residual count in
      units of idetape blocks.
      
      This peculiarity taxes both block layer and ide.  ide-atapi has
      different paths and hooks to accomodate it and what a rq means becomes
      quite confusing and making changes at the block layer becomes quite
      difficult and error-prone.
      
      This patch makes ide-tape use bio instead.  With the previous patch,
      ide-tape currently is using single contiguos buffer so replacing it
      isn't difficult.  Data buffer is mapped into bio using
      blk_rq_map_kern() in idetape_queue_rw_tail().  idetape_io_buffers()
      and idetape_update_buffers() are dropped and pc->bh is set to null to
      tell ide-atapi to use standard data transfer mechanism and idetape_bh
      byte counts are updated by the issuer on completion using the residual
      count.
      
      This change also nicely removes the FIXME in ide_pc_intr() where
      ide-tape rqs need to be completed using ide_rq_bytes() instead of
      blk_rq_bytes() (although this didn't really matter as the request
      didn't have bio).
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      21d9c5d2
    • Tejun Heo's avatar
      ide-tape: use single continuous buffer · 35ab8d32
      Tejun Heo authored
      Impact: simpler buffer allocation and handling, kills OOM, fix DMA transfers
      
      ide-tape has its own multiple buffer mechanism using struct
      idetape_bh.  It allocates buffer with decreasing order-of-two
      allocations so that it results in minimum number of segments.
      However, the implementation is quite complex and works in a way that
      no other block or ide driver works necessitating a lot of special case
      handling.
      
      The benefit this complex allocation scheme brings is questionable as
      PIO or DMA the number of segments (16 maximum) doesn't make any
      noticeable difference and it also doesn't negate the need for multiple
      order allocation which can fail under memory pressure or high
      fragmentation although it does lower the highest order necessary by
      one when the buffer size isn't power of two.
      
      As the first step to remove the custom buffer management, this patch
      makes ide-tape allocate single continous buffer.  The maximum order is
      four.  I doubt the change would cause any trouble but if it ever
      matters, it should be converted to regular sg mechanism like everyone
      else and even in that case dropping custom buffer handling and moving
      to standard mechanism first make sense as an intermediate step.
      
      This patch makes the first bh to contain the whole buffer and drops
      multi bh handling code.  Following patches will make further changes.
      
      This patch has the side effect of killing OOM triggered by allocation
      path and fixing DMA transfers.  Previously, bug in alloc path
      triggered OOM on command issue and commands were passed to DMA engine
      without DMA-mapping all the segments.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      35ab8d32
    • Tejun Heo's avatar
      ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len · b3071d19
      Tejun Heo authored
      Impact: allow residual count implementation in ->pc_callback()
      
      rq->data_len has two duties - carrying the number of input bytes on
      issue and carrying residual count back to the issuer on completion.
      ide-atapi completion callback ->pc_callback() is the right place to do
      this but currently ide-atapi depends on rq->data_len carrying the
      original request size after calling ->pc_callback() to complete the pc
      request.
      
      This patch makes ide_pc_intr(), ide_tape_issue_pc() and
      ide_floppy_issue_pc() cache length to complete before calling
      ->pc_callback() so that it can modify rq->data_len as necessary.
      
      Note: As using rq->data_len for two purposes can make cases like this
            incorrect in subtle ways, future changes will introduce separate
            field for residual count.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      b3071d19
    • Tejun Heo's avatar
      ide-tape,floppy: fix failed command completion after request sense · ea7066af
      Tejun Heo authored
      Impact: fix infinite retry loop
      
      After a command failed, ide-tape and floppy inserts REQUEST_SENSE in
      front of the failed command and according to the result, sets
      pc->retries, flags and errors.  After REQUEST_SENSE is complete, the
      failed command is again at the front of the queue and if the verdict
      was to terminate the request, the issue functions tries to complete it
      directly by calling drive->pc_callback() and returning ide_stopped.
      
      However, drive->pc_callback() doesn't complete a request.  It only
      prepares for completion of the request.  As a result, this creates an
      infinite loop where the failed request is retried perpetually.
      
      Fix it by actually ending the request by calling ide_complete_rq().
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      ea7066af
    • Tejun Heo's avatar
      ide-pm: don't abuse rq->data · fc38b521
      Tejun Heo authored
      Impact: cleanup rq->data usage
      
      ide-pm uses rq->data to carry pointer to struct request_pm_state
      through request queue and rq->special is used to carray pointer to
      local struct ide_cmd, which isn't necessary.  Use rq->special for
      request_pm_state instead and use local ide_cmd in
      ide_start_power_step().
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <axboe@kernel.dk>
      fc38b521
    • Tejun Heo's avatar
      ide-cd,atapi: use bio for internal commands · 5c4be572
      Tejun Heo authored
      Impact: unify request data buffer handling
      
      rq->data is used mostly to pass kernel buffer through request queue
      without using bio.  There are only a couple of places which still do
      this in kernel and converting to bio isn't difficult.
      
      This patch converts ide-cd and atapi to use bio instead of rq->data
      for request sense and internal pc commands.  With previous change to
      unify sense request handling, this is relatively easily achieved by
      adding blk_rq_map_kern() during sense_rq prep and PC issue.
      
      If blk_rq_map_kern() fails for sense, the error is deferred till sense
      issue and aborts the failed command which triggered the sense.  Note
      that this is a slim possibility as sense prep is done on each command
      issue, so for the above condition to actually trigger, all preps since
      the last sense issue till the issue of the request which would require
      a sense should fail.
      
      * do_request functions might sleep now.  This should be okay as ide
        request_fn - do_ide_request() - is invoked only from make_request
        and plug work.  Make sure this is the case by adding might_sleep()
        to do_ide_request().
      
      * Functions which access the read sense data before the sense request
        is complete now should access bio_data(sense_rq->bio) as the sense
        buffer might have been copied during blk_rq_map_kern().
      
      * ide-tape updated to map sg.
      
      * cdrom_do_block_pc() now doesn't have to deal with REQ_TYPE_ATA_PC
        special case.  Simplified.
      
      * tp_ops->output/input_data path dropped from ide_pc_intr().
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      5c4be572
    • Borislav Petkov's avatar
      ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer · 6b544fcc
      Borislav Petkov authored
      Since we're issuing REQ_TYPE_SENSE now we need to allow those types of
      rqs in the ->do_request callbacks. As a future improvement, sense_len
      assignment might be unified across all ATAPI devices. Borislav to
      check with specs and test.
      
      As a result, get rid of ide_queue_pc_head() and
      drive->request_sense_rq.
      
      tj: * Init request sense ide_atapi_pc from sense request.  In the
            longer timer, it would probably better to fold
            ide_create_request_sense_cmd() into its only current user -
            ide_floppy_get_format_progress().
      
          * ide_retry_pc() no longer takes @disk.
      
      CC: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      CC: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: default avatarBorislav Petkov <petkovbb@gmail.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      6b544fcc
    • Borislav Petkov's avatar
      ide-cd: convert to using generic sense request · 746d5e43
      Borislav Petkov authored
      Preallocate a sense request in the ->do_request method and reinitialize
      it only on demand, in case it's been consumed in the IRQ handler path.
      The reason for this is that we don't want to be mapping rq to bio in
      the IRQ path and introduce all kinds of unnecessary hacks to the block
      layer.
      
      tj: * Both user and kernel PC requests expect sense data to be stored
            in separate storage other than drive->sense_data.  Copy sense
            data to rq->sense on completion if rq->sense is not NULL.  This
            fixes bogus sense data on PC requests.
      
      As a result, remove cdrom_queue_request_sense.
      
      CC: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      CC: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: default avatarBorislav Petkov <petkovbb@gmail.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      746d5e43
    • Borislav Petkov's avatar
      ide: add helpers for preparing sense requests · a1df5169
      Borislav Petkov authored
      This is in preparation of removing the queueing of a sense request out
      of the IRQ handler path.
      
      Use struct request_sense as a general sense buffer for all ATAPI
      devices ide-{floppy,tape,cd}.
      
      tj: * blk_get_request(__GFP_WAIT) can't be called from do_request() as
            it can cause deadlock.  Converted to use inline struct request
            and blk_rq_init().
      
          * Added xfer / cdb len selection depending on device type.
      
          * All sense prep logics folded into ide_prep_sense() which never
            fails.
      
          * hwif->rq clearing and sense_rq used handling moved into
            ide_queue_sense_rq().
      
          * blk_rq_map_kern() conversion is moved to later patch.
      
      CC: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      CC: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: default avatarBorislav Petkov <petkovbb@gmail.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      a1df5169
    • Tejun Heo's avatar
      ide-cd: don't abuse rq->buffer · cbfd082a
      Tejun Heo authored
      Impact: rq->buffer usage cleanup
      
      ide-cd uses rq->buffer to carry pointer to the original request when
      issuing REQUEST_SENSE.  Use rq->special instead.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <axboe@kernel.dk>
      cbfd082a
    • Tejun Heo's avatar
      ide-atapi: don't abuse rq->buffer · c267cc1c
      Tejun Heo authored
      Impact: rq->buffer usage cleanup
      
      ide-atapi uses rq->buffer as private opaque value for internal special
      requests.  rq->special isn't used for these cases (the only case where
      rq->special is used is for ide-tape rw requests).  Use rq->special
      instead.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <axboe@kernel.dk>
      c267cc1c
    • Tejun Heo's avatar
      ide-taskfile: don't abuse rq->buffer · eace4cb0
      Tejun Heo authored
      Impact: rq->buffer usage cleanup
      
      ide_raw_taskfile() directly uses rq->buffer to carry pointer to the
      data buffer.  This complicates both block interface and ide backend
      request handling.  Use blk_rq_map_kern() instead and drop special
      handling for REQ_TYPE_ATA_TASKFILE from ide_map_sg().
      
      Note that REQ_RW setting is moved upwards as blk_rq_map_kern() uses it
      to initialize bio rw flag.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <axboe@kernel.dk>
      eace4cb0
    • Tejun Heo's avatar
      ide-floppy: block pc always uses bio · 7f006dc2
      Tejun Heo authored
      Impact: remove unnecessary code path
      
      Block pc requests always use bio and rq->data is always NULL.  No need
      to worry about !rq->bio cases in idefloppy_block_pc_cmd().  Note that
      ide-atapi uses ide_pio_bytes() for bio PIO transfer which handle sg
      fine.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Jens Axboe <axboe@kernel.dk>
      7f006dc2
    • Tejun Heo's avatar
      ide-cd: clear sense buffer before issuing request sense · 1873b90c
      Tejun Heo authored
      Impact: code simplification
      
      ide_cd_request_sense_fixup() clears the tail of the sense buffer if
      the device didn't completely fill it.  This patch makes
      cdrom_queue_request_sense() clear the sense buffer before issuing the
      command instead of clearing it afterwards.  This simplifies code and
      eases future changes.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      1873b90c
    • Tejun Heo's avatar
      ide kill unused ide_cmd->special · 46a802e8
      Tejun Heo authored
      Impact: removal of unused field
      
      No one uses ide_cmd->special anymore.  Kill it.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      46a802e8
    • Tejun Heo's avatar
      ide: don't set REQ_SOFTBARRIER · 55f3f399
      Tejun Heo authored
      ide doesn't have to worry about REQ_SOFTBARRIER.  Don't set it.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      55f3f399
    • Tejun Heo's avatar
      ide: use blk_run_queue() instead of blk_start_queueing() · 853280a4
      Tejun Heo authored
      blk_start_queueing() is being phased out in favor of
      [__]blk_run_queue().  Switch.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      853280a4
    • Tejun Heo's avatar
      ide-tape: remove back-to-back REQUEST_SENSE detection · 1e75540e
      Tejun Heo authored
      Impact: fix an oops which always triggers
      
      ide_tape_issue_pc() assumed drive->pc isn't NULL on invocation when
      checking for back-to-back request sense issues but drive->pc can be
      NULL and even when it's not NULL, it's not safe to dereference it once
      the previous command is complete because pc could have been freed or
      was on stack.  Kill back-to-back REQUEST_SENSE detection.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      1e75540e
    • Tejun Heo's avatar
      block: clear req->errors on bio completion only for fs requests · 6f41469c
      Tejun Heo authored
      Impact: subtle behavior change
      
      For fs requests, rq is only carrier of bios and rq error status as a
      whole doesn't mean much.  This is the reason why rq->errors is being
      cleared on each partial completion of a request as on each partial
      completion the error status is transferred to the respective bios.
      
      For pc requests, rq->errors is used to carry error status to the
      issuer and thus __end_that_request_first() doesn't clear it on such
      cases.
      
      The condition was fine till now as only fs and pc requests have used
      bio and thus the bio completion path.  However, future changes will
      unify data accesses to bio and all non fs users care about rq error
      status.  Clear rq->errors on bio completion only for fs requests.
      
      In general, the implicit clearing is a bit too subtle especially as
      the meaning of rq->errors is completely dependent on low level
      drivers.  Unifying / cleaning up rq->errors usage and letting llds
      manage it would be better.  TODO comment added.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarJens Axboe <axboe@kernel.dk>
      6f41469c
    • Sergei Shtylyov's avatar
      cs5536: define dma_sff_read_status() method · 15da90b5
      Sergei Shtylyov authored
      The driver somehow got merged with the initializer for the dma_sff_read_status()
      method missing which caused kernel panic on bootup.
      
      This should fix the kernel.org bug #13026...
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Reported-by: default avatarArnd Hannemann <hannemann@nets.rwth-aachen.de>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      15da90b5
    • Bartlomiej Zolnierkiewicz's avatar
      ide: fix barriers support · f505d49f
      Bartlomiej Zolnierkiewicz authored
      Freeing non-slab objects is bad and results in an oops.  Fix it.
      Reported-and-tested-by: default avatarAndrew Price <andy@andrewprice.me.uk>
      Cc: Theodore Tso <tytso@mit.edu>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      f505d49f
    • Jack Stone's avatar
      ide: Remove void casts · d5f840bf
      Jack Stone authored
      Remove uneeded void casts
      Signed-off-by: default avatarJack Stone <jwjstone@fastmail.fm>
      Cc: jeff@garzik.org
      Cc: kernel-janitors@vger.kernel.org
      Cc: Jack Stone <jwjstone@fastmail.fm>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      d5f840bf
    • Sergei Shtylyov's avatar
      hpt366: use ATA_DMA_* constants · 59c8d04f
      Sergei Shtylyov authored
      Use ATA_DMA_* constants instead of the bare numbers for the BMIDE register bits.
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      59c8d04f
    • Sergei Shtylyov's avatar
      hpt366: fix HPT370 DMA timeouts · c018f1ee
      Sergei Shtylyov authored
      The big driver change in 2.4.19-rc1 introduced a regression for many HPT370[A]
      chips -- DMA stopped to work completely, only causing endless timeouts...
      
      The culprit has been identified (at last!): it turned to be the code resetting
      the DMA state machine before each transfer. Stop doing it now as this counter-
      measure has clearly caused more harm than good.
      
      This should fix the kernel.org bug #7703.
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c018f1ee
  3. 17 Apr, 2009 9 commits
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · aefe6475
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        [libata] fix build error on drivers/ata/pata_legacy.c
        pata_via: Cache and rewrite the device bit
        sata_mv: workaround for multi_count errata sata24
        sata_mv: tidy up qc->tf usage in qc_prep() functions
      aefe6475
    • Zhenwen Xu's avatar
      [libata] fix build error on drivers/ata/pata_legacy.c · 16e6aeca
      Zhenwen Xu authored
      fix those errors:
      
      drivers/ata/pata_legacy.c: In function ‘pdc_data_xfer_vlb’:
      drivers/ata/pata_legacy.c:289: error: ‘ap’ undeclared (first use in this function)
      drivers/ata/pata_legacy.c:289: error: (Each undeclared identifier is reported only once
      drivers/ata/pata_legacy.c:289: error: for each function it appears in.)
      drivers/ata/pata_legacy.c: At top level:
      drivers/ata/pata_legacy.c:869: error: ‘ATA_PFLAG_PIO32_CHANGE’ undeclared here (not in a
      +function)
      make[2]: *** [drivers/ata/pata_legacy.o] Error 1
      make[1]: *** [drivers/ata] Error 2
      Signed-off-by: default avatarZhenwen Xu <helight.xu@gmail.com>
      Acked-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      16e6aeca
    • Alan Cox's avatar
      pata_via: Cache and rewrite the device bit · b4746ed7
      Alan Cox authored
      Some VIA chipsets will reset the DEV bit after IEN changes on ctl. Our
      optimised write path avoids doing this but we need to remove the
      optimisation on these devices.
      
      [Identified and some original patches proposed by Josehn Chan @ VIA but
      discussion then all ground to a halt so given a test case I dug it back out]
      
      Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk
      Tested-by: Christoph Bisping (bug #13086)
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      b4746ed7
    • Mark Lord's avatar
      sata_mv: workaround for multi_count errata sata24 · 299b3f8d
      Mark Lord authored
      Workaround for errata SATA#24 in sata_mv.
      This errata affects WRITE_MULTI* commands when
      the device multi_count produces a DRQ block size >= 4Kbytes.
      
      We work around it here by converting such operations
      into ordinary PIO_WRITEs instead.
      
      Note that this might result in a PIO FUA write unavoidably being converted
      into a non-FUA write.  In practice, any system using FUA is also going to be
      using DMA rather than PIO, so this shouldn't affect anyone in the real world.
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      299b3f8d
    • Mark Lord's avatar
      sata_mv: tidy up qc->tf usage in qc_prep() functions · 8d2b450d
      Mark Lord authored
      Tidy up qc->tf accesses in the mv_qc_prep() functions.
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      8d2b450d
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · d022bafb
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (43 commits)
        staging: slicoss: update README
        otus/zdusb.c: additional USB idnetifier
        Staging: go7007: fix build issues
        Staging: sxg: Fix leaks and checksum errors in transmit code path
        Staging: sxg: Fix sleep in atomic context warning while loading driver
        Staging: sxg: Use correct queue_id for transmitting non-TCP packets
        Staging: sxg: Fire watchdog timer at end of open routine to change the link
        Staging: Pohmelfs: Add load balancing between network states with the same priority.
        Staging: Pohmelfs: Added IO permissions and priorities.
        Staging: Pohmelfs: Added ->show_stats() callback.
        Staging: Pohmelfs: Drop ftrans debugging code.
        Staging: Pohmelfs: Use wait_on_page_timeout when waiting for remote directory sync instead of hardcoded 25 seconds.
        Staging: Pohmelfs: Reduce debugging noise about non-existing objects.
        Staging: Pohmelfs: Sync fs before killing it, since dentry cache is shrunk before writeback is invoked via generic_shutdown_super()
        Staging: Pohmelfs: Extend remount option.
        Staging: Pohmelfs: Set NETFS_INODE_REMOTE_SYNCED and clear NETFS_INODE_OWNED bits in the root inode.
        Staging: Pohmelfs: Added 'need_lock' variable into debug print.
        Staging: Pohmelfs: Disable read lock in pohmelfs_getattr().
        Staging: Pohmelfs: Move parent lock to the place where we really have to send a lookup request to the server.
        Staging: pohmelfs: Populate dentry cache when receiving the new readdir entry.
        ...
      d022bafb
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 · 74a205a3
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
        UIO: fix specific device driver missing statement for depmod
        Driver core: remove pr_fmt() from dynamic_dev_dbg() printk
        driver core: prevent device_for_each_child from oopsing
        dynamic debug: resurrect old pr_debug() semantics as pr_devel()
        Driver Core: early platform driver
        proc: mounts_poll() make consistent to mdstat_poll
        sysfs: sysfs poll keep the poll rule of regular file.
        driver core: allow non-root users to listen to uevents
        driver core: fix driver_match_device
        sysfs: don't use global workqueue in sysfs_schedule_callback()
      74a205a3
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · dd26bf6d
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (22 commits)
        WUSB: correct format of wusb_chid sysfs file
        WUSB: fix oops when completing URBs for disconnected devices
        WUSB: disconnect all devices when stopping a WUSB HCD
        USB: whci-hcd: check return value of usb_hcd_link_urb_to_ep()
        USB: whci-hcd: provide a endpoint_reset method
        USB: add reset endpoint operations
        USB device codes for Motorola phone.
        usb-storage: fix mistake in Makefile
        USB: usb-serial ch341: support for DTR/RTS/CTS
        Revert USB: usb-serial ch341: support for DTR/RTS/CTS
        USB: musb: fix possible panic while resuming
        USB: musb: fix isochronous TXDMA (take 2)
        USB: musb: sanitize clearing TXCSR DMA bits (take 2)
        USB: musb: bugfixes for multi-packet TXDMA support
        USB: musb_host, fix ep0 fifo flushing
        USB: usb-storage: augment unusual_devs entry for Simple Tech/Datafab
        USB: musb_host, minor enqueue locking fix (v2)
        USB: fix oops in cdc-wdm in case of malformed descriptors
        USB: qcserial: Add extra device IDs
        USB: option: Add ids for D-Link DWM-652 3.5G modem
        ...
      dd26bf6d
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 7217fa98
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm: (48 commits)
        [ARM] S3C24XX: ADC: Check pending queue before freeing adc client
        [ARM] S3C: Fix ADC driver sparse warning
        [ARM] Osiris: Fix double initialisation in machine block
        [ARM] Anubis: Fix sparse warnings for items that should be static
        [ARM] JIVE: Fix sparse warnings about items which should be static
        [ARM] S3C: Fix sparse warning from missing 's3c_device_hwmon'
        [ARM] S3C24XX: Fix sparse error in gpiolib.c
        [ARM] 5455/1: Fix IRQ noise from VIC code
        [ARM] 5454/1: ep93xx_eth: fix sparse warnings
        [ARM] remove .gitignore from include/asm-arm
        Update MAINTAINERS
        mxc defconfig updates
        mx31ads: Mark as having full regulatoion constraints with 1133-EV1 board
        mx31ads: Depend on all the WM8350 core dependencies for WM1133-EV1 board
        Fix ifdef in plat-mxc/irc.c
        MX1ADS: remove I2C ifdefs
        qong: remove AIPS[12] mappings from machine-specific iotable
        mx31ads: imoux pins should be passed in as unsigned int
        MXC: remove orphan imx_init_uart() definition
        mx31: pin definition for csi
        ...
      7217fa98