1. 11 5月, 2009 2 次提交
    • T
      mg_disk: fix queue hang / infinite retry on !fs requests · 9a8d23d8
      Tejun Heo 提交于
      Both request functions in mg_disk simply return when they encounter a
      !fs request, which means the request will never be cleared from the
      queue causing queue hang and indefinite retry of the request.  Fix it.
      
      While at it, flatten condition checks and add unlikely to !fs tests.
      
      [ Impact: fix possible queue hang / infinite retry of !fs requests ]
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: unsik Kim <donari75@gmail.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      9a8d23d8
    • T
      block: convert to pos and nr_sectors accessors · 83096ebf
      Tejun Heo 提交于
      With recent cleanups, there is no place where low level driver
      directly manipulates request fields.  This means that the 'hard'
      request fields always equal the !hard fields.  Convert all
      rq->sectors, nr_sectors and current_nr_sectors references to
      accessors.
      
      While at it, drop superflous blk_rq_pos() < 0 test in swim.c.
      
      [ Impact: use pos and nr_sectors accessors ]
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Tested-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NGrant Likely <grant.likely@secretlab.ca>
      Tested-by: NAdrian McMenamin <adrian@mcmen.demon.co.uk>
      Acked-by: NAdrian McMenamin <adrian@mcmen.demon.co.uk>
      Acked-by: NMike Miller <mike.miller@hp.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Cc: Borislav Petkov <petkovbb@googlemail.com>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Eric Moore <Eric.Moore@lsi.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Pete Zaitcev <zaitcev@redhat.com>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Paul Clements <paul.clements@steeleye.com>
      Cc: Tim Waugh <tim@cyberelk.net>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
      Cc: Alex Dubov <oakad@yahoo.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Dario Ballabio <ballabio_dario@emc.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: unsik Kim <donari75@gmail.com>
      Cc: Laurent Vivier <Laurent@lvivier.info>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      83096ebf
  2. 28 4月, 2009 8 次提交
  3. 07 4月, 2009 1 次提交
    • U
      mflash: initial support · 3fbed4c6
      unsik Kim 提交于
      This driver supports mflash IO mode for linux.
      
      Mflash is embedded flash drive and mainly targeted mobile and consumer
      electronic devices.
      
      Internally, mflash has nand flash and other hardware logics and supports 2
      different operation (ATA, IO) modes.  ATA mode doesn't need any new driver
      and currently works well under standard IDE subsystem.  Actually it's one
      chip SSD.  IO mode is ATA-like custom mode for the host that doesn't have
      IDE interface.
      
      Followings are brief descriptions about IO mode.
      A. IO mode based on ATA protocol and uses some custom command. (read confirm,
      write confirm)
      B. IO mode uses SRAM bus interface.
      C. IO mode supports 4kB boot area, so host can boot from mflash.
      
      This driver is quitely similar to a standard ATA driver, but because of
      following reasons it is currently seperated with ATA layer.
      
      1. ATA layer deals standard ATA protocol.  ATA layer have many low-
         level device specific interface, but data transfer keeps ATA rule.
         But, mflash IO mode doesn't.
      
      2. Even though currently not used in mflash driver code, mflash has
         some custom command and modes.  (nand fusing, firmware patch, etc) If
         this feature supported in linux kernel, ATA layer more altered.
      
      3. Currently PATA platform device driver doesn't support interrupt.
         (I'm not sure) But, mflash uses interrupt (polling mode is just for
         debug).
      
      4. mflash is somewhat under-develop product.  Even though some company
         already using mflash their own product, I think more time is needed for
         standardization of custom command and mode.  That time (maybe October)
         I will talk to with ATA people.  If they accept integration, I will
         integrate.
      Signed-off-by: Nunsik Kim <donari75@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      3fbed4c6