1. 06 Apr, 2010 1 commit
    • Daniel Mack's avatar
      libertas/sdio: 8686: set ECSI bit for 1-bit transfers · 8a64c0f6
      Daniel Mack authored
      When operating in 1-bit mode, SDAT1 is used as dedicated interrupt line.
      However, the 8686 will only drive this line when the ECSI bit is set in
      the CCCR_IF register.
      
      Thanks to Alagu Sankar for pointing me in the right direction.
      Signed-off-by: default avatarDaniel Mack <daniel@caiaq.de>
      Cc: Alagu Sankar <alagusankar@embwise.com>
      Cc: Volker Ernst <volker.ernst@txtr.com>
      Cc: Dan Williams <dcbw@redhat.com>
      Cc: John W. Linville <linville@tuxdriver.com>
      Cc: Holger Schurig <hs4233@mail.mn-solutions.de>
      Cc: Bing Zhao <bzhao@marvell.com>
      Cc: libertas-dev@lists.infradead.org
      Cc: linux-wireless@vger.kernel.org
      Cc: linux-mmc@vger.kernel.org
      Acked-by: default avatarDan Williams <dcbw@redhat.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8a64c0f6
  2. 31 Mar, 2010 3 commits
  3. 24 Mar, 2010 3 commits
  4. 23 Mar, 2010 3 commits
  5. 09 Mar, 2010 1 commit
  6. 03 Mar, 2010 1 commit
    • Sujith's avatar
      mac80211: Fix HT rate control configuration · 4fa00437
      Sujith authored
      Handling HT configuration changes involved setting the channel
      with the new HT parameters and then issuing a rate_update()
      notification to the driver.
      
      This behavior changed after the off-channel changes. Now, the channel
      is not updated with the new HT params in enable_ht() - instead, it
      is now done when the scan work terminates. This results in the driver
      depending on stale information, defaulting to non-HT mode always.
      
      Fix this by passing the new channel type to the driver.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      4fa00437
  7. 02 Mar, 2010 2 commits
  8. 28 Feb, 2010 5 commits
  9. 27 Feb, 2010 8 commits
    • Marcel Holtmann's avatar
      Bluetooth: Add controller types for BR/EDR and 802.11 AMP · 943da25d
      Marcel Holtmann authored
      With the Bluetooth 3.0 specification and the introduction of alternate
      MAC/PHY (AMP) support, it is required to differentiate between primary
      BR/EDR controllers and 802.11 AMP controllers. So introduce a special
      type inside HCI device for differentiation.
      
      For now all AMP controllers will be treated as raw devices until an
      AMP manager has been implemented.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      943da25d
    • Marcel Holtmann's avatar
      Bluetooth: Convert inquiry cache to use debugfs instead of sysfs · ca325f69
      Marcel Holtmann authored
      The output of the inquiry cache is only useful for debugging purposes
      and so move it into debugfs.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      ca325f69
    • Marcel Holtmann's avatar
      Bluetooth: Convert controller hdev->type to hdev->bus · c13854ce
      Marcel Holtmann authored
      The hdev->type is misnamed and should be actually hdev->bus instead. So
      convert it now.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      c13854ce
    • Felix Fietkau's avatar
      skbuff: align sk_buff::cb to 64 bit and close some potential holes · da3f5cf1
      Felix Fietkau authored
      The alignment requirement for 64-bit load/store instructions on ARM is
      implementation defined. Some CPUs (such as Marvell Feroceon) do not
      generate an exception, if such an instruction is executed with an
      address that is not 64 bit aligned. In such a case, the Feroceon
      corrupts adjacent memory, which showed up in my tests as a crash in the
      rx path of ath9k that only occured with CONFIG_XFRM set.
      
      This crash happened, because the first field of the mac80211 rx status
      info in the cb is an u64, and changing it corrupted the skb->sp field.
      
      This patch also closes some potential pre-existing holes in the sk_buff
      struct surrounding the cb[] area.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      da3f5cf1
    • Patrick McHardy's avatar
      rtnetlink: support specifying device flags on device creation · 3729d502
      Patrick McHardy authored
      commit e8469ed959c373c2ff9e6f488aa5a14971aebe1f
      Author: Patrick McHardy <kaber@trash.net>
      Date:   Tue Feb 23 20:41:30 2010 +0100
      
      Support specifying the initial device flags when creating a device though
      rtnl_link. Devices allocated by rtnl_create_link() are marked as INITIALIZING
      in order to surpress netlink registration notifications. To complete setup,
      rtnl_configure_link() must be called, which performs the device flag changes
      and invokes the deferred notifiers if everything went well.
      
      Two examples:
      
      # add macvlan to eth0
      #
      $ ip link add link eth0 up allmulticast on type macvlan
      
      [LINK]11: macvlan0@eth0: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
          link/ether 26:f8:84:02:f9:2a brd ff:ff:ff:ff:ff:ff
      [ROUTE]ff00::/8 dev macvlan0  table local  metric 256  mtu 1500 advmss 1440 hoplimit 0
      [ROUTE]fe80::/64 dev macvlan0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
      [LINK]11: macvlan0@eth0: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500
          link/ether 26:f8:84:02:f9:2a
      [ADDR]11: macvlan0    inet6 fe80::24f8:84ff:fe02:f92a/64 scope link
             valid_lft forever preferred_lft forever
      [ROUTE]local fe80::24f8:84ff:fe02:f92a via :: dev lo  table local  proto none  metric 0  mtu 16436 advmss 16376 hoplimit 0
      [ROUTE]default via fe80::215:e9ff:fef0:10f8 dev macvlan0  proto kernel  metric 1024  mtu 1500 advmss 1440 hoplimit 0
      [NEIGH]fe80::215:e9ff:fef0:10f8 dev macvlan0 lladdr 00:15:e9:f0:10:f8 router STALE
      [ROUTE]2001:6f8:974::/64 dev macvlan0  proto kernel  metric 256  expires 0sec mtu 1500 advmss 1440 hoplimit 0
      [PREFIX]prefix 2001:6f8:974::/64 dev macvlan0 onlink autoconf valid 14400 preferred 131084
      [ADDR]11: macvlan0    inet6 2001:6f8:974:0:24f8:84ff:fe02:f92a/64 scope global dynamic
             valid_lft 86399sec preferred_lft 14399sec
      
      # add VLAN to eth1, eth1 is down
      #
      $ ip link add link eth1 up type vlan id 1000
      RTNETLINK answers: Network is down
      
      <no events>
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3729d502
    • Patrick McHardy's avatar
      dev: support deferring device flag change notifications · bd380811
      Patrick McHardy authored
      Split dev_change_flags() into two functions: __dev_change_flags() to
      perform the actual changes and __dev_notify_flags() to invoke netdevice
      notifiers. This will be used by rtnl_link to defer netlink notifications
      until the device has been fully configured.
      
      This changes ordering of some operations, in particular:
      
      - netlink notifications are sent after all changes have been performed.
        As a side effect this surpresses one unnecessary netlink message when
        the IFF_UP and other flags are changed simultaneously.
      
      - The NETDEV_UP/NETDEV_DOWN and NETDEV_CHANGE notifiers are invoked
        after all changes have been performed. Their relative is unchanged.
      
      - net_dmaengine_put() is invoked before the NETDEV_DOWN notifier instead
        of afterwards. This should not make any difference since both RX and TX
        are already shut down at this point.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bd380811
    • Patrick McHardy's avatar
      rtnetlink: handle rtnl_link netlink notifications manually · a2835763
      Patrick McHardy authored
      In order to support specifying device flags during device creation,
      we must be able to roll back device registration in case setting the
      flags fails without sending any notifications related to the device
      to userspace.
      
      This patch changes rollback_registered_many() and register_netdevice()
      to manually send netlink notifications for devices not handled by
      rtnl_link and allows to defer notifications for devices handled by
      rtnl_link until setup is complete.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a2835763
    • Paul E. McKenney's avatar
      rcu: Make non-RCU_PROVE_LOCKING rcu_read_lock_sched_held() understand boot · 0b1c8727
      Paul E. McKenney authored
      Before the scheduler starts, all tasks are non-preemptible by
      definition. So, during that time, rcu_read_lock_sched_held()
      needs to always return "true".  This patch makes that be so
      for RCU_PROVE_LOCKING=n.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      LKML-Reference: <1267231138-27856-2-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      0b1c8727
  10. 26 Feb, 2010 13 commits
    • John W. Linville's avatar
      netdevice.h: check for CONFIG_WLAN instead of CONFIG_WLAN_80211 · caf66e58
      John W. Linville authored
      In "wireless: remove WLAN_80211 and WLAN_PRE80211 from Kconfig" I
      inadvertantly missed a line in include/linux/netdevice.h.  I thereby
      effectively reverted "net: Set LL_MAX_HEADER properly for wireless." by
      accident. :-(  Now we should check there for CONFIG_WLAN instead.
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      Reported-by: default avatarChristoph Egger <siccegge@stud.informatik.uni-erlangen.de>
      Cc: stable@kernel.org
      caf66e58
    • Michael Holzheu's avatar
      [S390] Define new s390 ELF note sections in elf.h · 73bfa5f2
      Michael Holzheu authored
      S390 ELF core dump currently only contains the PSW, the general purpose
      registers, the floating point registers and the access registers stored
      in PRSTATUS/PRFPREG note sections.
      For analyzing s390 kernel problems additional registers are important.
      In order to be able to include these registers to a kernel ELF core dump,
      this patch adds the following five new note sections to elf.h:
      
      * NT_S390_TIMER:   S390 timer register
      * NT_S390_TODCMP:  S390 TOD comparator register
      * NT_S390_TODPREG: S390 TOD programmable register
      * NT_S390_CTRS:    S390 control registers
      * NT_S390_PREFIX:  S390 prefix register
      
      The new note sections have been already defined and accepted in the upstream
      binutils package.
      Signed-off-by: default avatarMichael Holzheu <holzheu@linux.vnet.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      73bfa5f2
    • Alan Stern's avatar
      USB: implement non-tree resume ordering constraints for PCI host controllers · 6d19c009
      Alan Stern authored
      This patch (as1331) adds non-tree ordering constraints needed for
      proper resume of PCI USB host controllers from hibernation.  The main
      issue is that non-high-speed devices must not be resumed before the
      high-speed root hub, because it is the ehci_bus_resume() routine which
      takes care of handing the device connection over to the companion
      controller.  If the device resume is attempted before the handover
      then the device won't be found and it will be treated as though it had
      disconnected.
      
      The patch adds a new field to the usb_bus structure; for each
      full/low-speed bus this field will contain a pointer to the companion
      high-speed bus (if one exists).  It is used during normal device
      resume; if the hs_companion pointer isn't NULL then we wait for the
      root-hub device on the hs_companion bus.
      
      A secondary issue is that an EHCI controlller shouldn't be resumed
      before any of its companions.  On some machines I have observed
      handovers failing if the companion controller is reinitialized after
      the handover.  Thus, the EHCI resume routine must wait for the
      companion controllers to be resumed.
      
      The patch also fixes a small bug in usb_hcd_pci_probe(); an error path
      jumps to the wrong label, causing a memory leak.
      
      [rjw: Fixed compilation for CONFIG_PM_SLEEP unset.]
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      6d19c009
    • Rafael J. Wysocki's avatar
      PM: Allow device drivers to use dpm_wait() · f8824cee
      Rafael J. Wysocki authored
      There are some dependencies between devices (in particular, between
      EHCI USB controllers and their OHCI/UHCI siblings) which are not
      reflected by the structure of the device tree.  With synchronous
      suspend and resume these dependencies are taken into accout
      automatically, because the devices in question are always registered
      in the right order, but to meet these constraints with asynchronous
      suspend and resume the drivers of these devices will need to use
      dpm_wait() in their suspend/resume routines, so introduce a helper
      function allowing them to do that.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      f8824cee
    • Rafael J. Wysocki's avatar
      PM: Add facility for advanced testing of async suspend/resume · 5a2eb858
      Rafael J. Wysocki authored
      Add configuration switch CONFIG_PM_ADVANCED_DEBUG for compiling in
      extra PM debugging/testing code allowing one to access some
      PM-related attributes of devices from the user space via sysfs.
      
      If CONFIG_PM_ADVANCED_DEBUG is set, add sysfs attribute power/async
      for every device allowing the user space to access the device's
      power.async_suspend flag and modify it, if desired.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      5a2eb858
    • Rafael J. Wysocki's avatar
      PM: Asynchronous suspend and resume of devices · 5af84b82
      Rafael J. Wysocki authored
      Theoretically, the total time of system sleep transitions (suspend
      to RAM, hibernation) can be reduced by running suspend and resume
      callbacks of device drivers in parallel with each other.  However,
      there are dependencies between devices such that we're not allowed
      to suspend the parent of a device before suspending the device
      itself.  Analogously, we're not allowed to resume a device before
      resuming its parent.
      
      The most straightforward way to take these dependencies into accout
      is to start the async threads used for suspending and resuming
      devices at the core level, so that async_schedule() is called for
      each suspend and resume callback supposed to be executed
      asynchronously.
      
      For this purpose, introduce a new device flag, power.async_suspend,
      used to mark the devices whose suspend and resume callbacks are to be
      executed asynchronously (ie. in parallel with the main suspend/resume
      thread and possibly in parallel with each other) and helper function
      device_enable_async_suspend() allowing one to set power.async_suspend
      for given device (power.async_suspend is unset by default for all
      devices).  For each device with the power.async_suspend flag set the
      PM core will use async_schedule() to execute its suspend and resume
      callbacks.
      
      The async threads started for different devices as a result of
      calling async_schedule() are synchronized with each other and with
      the main suspend/resume thread with the help of completions, in the
      following way:
      (1) There is a completion, power.completion, for each device object.
      (2) Each device's completion is reset before calling async_schedule()
          for the device or, in the case of devices with the
          power.async_suspend flags unset, before executing the device's
          suspend and resume callbacks.
      (3) During suspend, right before running the bus type, device type
          and device class suspend callbacks for the device, the PM core
          waits for the completions of all the device's children to be
          completed.
      (4) During resume, right before running the bus type, device type and
          device class resume callbacks for the device, the PM core waits
          for the completion of the device's parent to be completed.
      (5) The PM core completes power.completion for each device right
          after the bus type, device type and device class suspend (or
          resume) callbacks executed for the device have returned.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      5af84b82
    • Rafael J. Wysocki's avatar
      PM / Runtime: Add sysfs switch for disabling device run-time PM · 53823639
      Rafael J. Wysocki authored
      Add new device sysfs attribute, power/control, allowing the user
      space to block the run-time power management of the devices.  If this
      attribute is set to "on", the driver of the device won't be able to power
      manage it at run time (without breaking the rules) and the device will
      always be in the full power state (except when the entire system goes
      into a sleep state).
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      53823639
    • Andy Walls's avatar
      V4L/DVB: tuner-types: Add Sony BTF-Pxn01Z tuner type used on GigaPocket cards · dbb9de9b
      Andy Walls authored
      Sony makes custome tuners for its GigaPocket line of ivtv based capture
      cards.  This adds an entry to the tuner-types list for such tuners.
      Parameters are based on experiments by Eric Anderson <rico99@sbcglobal.net>.
      Signed-off-by: default avatarAndy Walls <awalls@radix.net>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      dbb9de9b
    • Murali Karicheri's avatar
      V4L/DVB: V4L - vpfe capture - vpss driver enhancements for DM365 · 85b848ca
      Murali Karicheri authored
      Enhancements to support DM365 ISP5 and VPSS module configuration.
      Also cleaned up the driver by removing redundant variables.
      Reviewed-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: default avatarMurali Karicheri <mkaricheri@gmail.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      85b848ca
    • Murali Karicheri's avatar
      V4L/DVB: V4L - vpfe capture - header files for ISIF driver · e8417683
      Murali Karicheri authored
      This is the header file for ISIF driver on DM365.  ISIF driver is equivalent
      to CCDC driver on DM355 and DM644x. This driver is tested for
      YUV capture from TVP514x driver. This patch contains the header files required
      for this driver.
      Reviewed-by: default avatarNori, Sekhar <nsekhar@ti.com>
      Reviewed-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: default avatarMurali Karicheri <mkaricheri@gmail.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      e8417683
    • Hans Verkuil's avatar
      V4L/DVB: saa7115: fix saa7111a support · 340dde81
      Hans Verkuil authored
      When the saa7111 driver was merged into saa7115 several bugs were introduced,
      in particular with the saa7111a support as is used in the mxb.c driver.
      This patch fixes the saa7111a support. This was tested with the mxb driver.
      Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      340dde81
    • Hans Verkuil's avatar
      V4L/DVB: saa7146_vv: fix regression where v4l2_device was registered too late · cd7d9beb
      Hans Verkuil authored
      v4l2_device_register needs to be called before the i2c subdevs are loaded.
      However, it was called afterwards in the saa7146 driver. This caused an oops
      when loading the mxb and hexium drivers. The vv_init function is now split
      into two: one registers the v4l2_device, the other does the rest of the
      initialization. The three drivers that depend on this have been updated to
      call the new vv_devinit function.
      
      Thanks to Michael Hunold for reporting this.
      Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      cd7d9beb
    • Franklin Meng's avatar