1. 01 10月, 2006 11 次提交
    • J
      [netdrvr] phy: Fix bugs in error handling · b7a00ecd
      Jeff Garzik 提交于
      The recent __must_check stuff flagged some error handling bugs.
      
      phy/fixed.c:
      * handle device_bind_driver() failure
      
      phy/phy_device.c:
      * handle device_bind_driver() failure
      * release rwsem upon failure
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b7a00ecd
    • J
      [PATCH] SCSI: fix request flag-related build breakage · 1bdfd554
      Jeff Garzik 提交于
      The ->flags in struct request was split into two variables, in a recent
      changeset.  The merge of this change forgot to update SCSI's libsas,
      probably because libsas was a very recent merge.
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      1bdfd554
    • D
      [PATCH] BLOCK: Make USB storage depend on SCSI rather than selecting it [try #6] · 65934a9a
      David Howells 提交于
      This makes CONFIG_USB_STORAGE depend on CONFIG_SCSI rather than selecting it,
      as selecting it makes CONFIG_USB_STORAGE override the dependencies of SCSI,
      causing it to turn on even if they aren't all met.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      65934a9a
    • D
      [PATCH] BLOCK: Make it possible to disable the block layer [try #6] · 9361401e
      David Howells 提交于
      Make it possible to disable the block layer.  Not all embedded devices require
      it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
      the block layer to be present.
      
      This patch does the following:
      
       (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
           support.
      
       (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
           an item that uses the block layer.  This includes:
      
           (*) Block I/O tracing.
      
           (*) Disk partition code.
      
           (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
      
           (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the
           	 block layer to do scheduling.  Some drivers that use SCSI facilities -
           	 such as USB storage - end up disabled indirectly from this.
      
           (*) Various block-based device drivers, such as IDE and the old CDROM
           	 drivers.
      
           (*) MTD blockdev handling and FTL.
      
           (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
           	 taking a leaf out of JFFS2's book.
      
       (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
           linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,
           however, still used in places, and so is still available.
      
       (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
           parts of linux/fs.h.
      
       (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
      
       (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
      
       (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
           is not enabled.
      
       (*) fs/no-block.c is created to hold out-of-line stubs and things that are
           required when CONFIG_BLOCK is not set:
      
           (*) Default blockdev file operations (to give error ENODEV on opening).
      
       (*) Makes some /proc changes:
      
           (*) /proc/devices does not list any blockdevs.
      
           (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
      
       (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
      
       (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
           given command other than Q_SYNC or if a special device is specified.
      
       (*) In init/do_mounts.c, no reference is made to the blockdev routines if
           CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.
      
       (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
           error ENOSYS by way of cond_syscall if so).
      
       (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
           CONFIG_BLOCK is not set, since they can't then happen.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      9361401e
    • D
      [PATCH] BLOCK: Move the loop device ioctl compat stuff to the loop driver [try #6] · 863d5b82
      David Howells 提交于
      Move the loop device ioctl compat stuff from fs/compat_ioctl.c to the loop
      driver so that the loop header file doesn't need to be included.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      863d5b82
    • J
      [PATCH] SCSI: scsi_done_q is unused · 9bf09c23
      Jens Axboe 提交于
      It is a leftover from before the softirq completion was migrated
      to the block layer.
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      9bf09c23
    • J
      a3b05e8f
    • J
      [PATCH] Remove ->rq_status from struct request · cdd60262
      Jens Axboe 提交于
      After Christophs SCSI change, the only usage left is RQ_ACTIVE
      and RQ_INACTIVE. The block layer sets RQ_INACTIVE right before freeing
      the request, so any check for RQ_INACTIVE in a driver is a bug and
      indicates use-after-free.
      
      So kill/clean the remaining users, straight forward.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      cdd60262
    • J
      [PATCH] Remove ->waiting member from struct request · c00895ab
      Jens Axboe 提交于
      As the comments indicates in blkdev.h, we can fold it into ->end_io_data
      usage as that is really what ->waiting is. Fixup the users of
      blk_end_sync_rq().
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      c00895ab
    • J
      [PATCH] Split struct request ->flags into two parts · 4aff5e23
      Jens Axboe 提交于
      Right now ->flags is a bit of a mess: some are request types, and
      others are just modifiers. Clean this up by splitting it into
      ->cmd_type and ->cmd_flags. This allows introduction of generic
      Linux block message types, useful for sending generic Linux commands
      to block devices.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      4aff5e23
    • J
      [PATCH] i2c: Prevent deadlock on i2c client registration · 77ed74da
      Jean Delvare 提交于
      Delay the call to adapter->client_register() until after we are
      certain that the client registration is a success. At this point the
      client is fully initialized and we no longer hold the adapter->clist
      mutex, so this should prevent the deadlocks if the client_register()
      callback needs to take that mutex too, as is the case for the bttv
      driver.
      
      This fixes bug #7234.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      77ed74da
  2. 30 9月, 2006 29 次提交