1. 16 Apr, 2010 2 commits
  2. 08 Apr, 2010 1 commit
  3. 07 Apr, 2010 2 commits
    • Johannes Berg's avatar
      mac80211: clean up/fix aggregation code · 098a6070
      Johannes Berg authored
      
      
      The aggregation code has a number of quirks, like
      inventing an unneeded WLAN_BACK_TIMER value and
      leaking memory under certain circumstances during
      station destruction. Fix these issues by using
      the regular aggregation session teardown code and
      blocking new aggregation sessions, all before the
      station is really destructed.
      
      As a side effect, this gets rid of the long code
      block to destroy aggregation safely.
      
      Additionally, rename tid_state_rx which can only
      have the values IDLE and OPERATIONAL to
      tid_active_rx to make it easier to understand
      that there is no bitwise stuff going on on the
      RX side -- the TX side remains because it needs
      to keep track of the driver and peer states.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      098a6070
    • Jouni Malinen's avatar
      cfg80211: Add local-state-change-only auth/deauth/disassoc · d5cdfacb
      Jouni Malinen authored
      
      
      cfg80211 is quite strict on allowing authentication and association
      commands only in certain states. In order to meet these requirements,
      user space applications may need to clear authentication or
      association state in some cases. Currently, this can be done with
      deauth/disassoc command, but that ends up sending out Deauthentication
      or Disassociation frame unnecessarily. Add a new nl80211 attribute to
      allow this sending of the frame be skipped, but with all other
      deauth/disassoc operations being completed.
      
      Similar state change is also needed for IEEE 802.11r FT protocol in
      the FT-over-DS case which does not use Authentication frame exchange
      in a transition to another BSS. For this to work with cfg80211, an
      authentication entry needs to be created for the target BSS without
      sending out an Authentication frame. The nl80211 authentication
      command can be used for this purpose, too, with the new attribute to
      indicate that the command is only for changing local state. This
      enables wpa_supplicant to complete FT-over-DS transition successfully.
      Signed-off-by: default avatarJouni Malinen <j@w1.fi>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      d5cdfacb
  4. 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
  5. 31 Mar, 2010 3 commits
  6. 24 Mar, 2010 3 commits
  7. 23 Mar, 2010 3 commits
  8. 09 Mar, 2010 1 commit
  9. 08 Mar, 2010 2 commits
  10. 07 Mar, 2010 1 commit
  11. 05 Mar, 2010 4 commits
    • Jeff Garzik's avatar
      ethtool: Add direct access to ops->get_sset_count · d17792eb
      Jeff Garzik authored
      
      
      On 03/04/2010 09:26 AM, Ben Hutchings wrote:
      > On Thu, 2010-03-04 at 00:51 -0800, Jeff Kirsher wrote:
      >> From: Jeff Garzik<jgarzik@redhat.com>
      >>
      >> This patch is an alternative approach for accessing string
      >> counts, vs. the drvinfo indirect approach.  This way the drvinfo
      >> space doesn't run out, and we don't break ABI later.
      > [...]
      >> --- a/net/core/ethtool.c
      >> +++ b/net/core/ethtool.c
      >> @@ -214,6 +214,10 @@ static noinline int ethtool_get_drvinfo(struct net_device *dev, void __user *use
      >>   	info.cmd = ETHTOOL_GDRVINFO;
      >>   	ops->get_drvinfo(dev,&info);
      >>
      >> +	/*
      >> +	 * this method of obtaining string set info is deprecated;
      >> +	 * consider using ETHTOOL_GSSET_INFO instead
      >> +	 */
      >
      > This comment belongs on the interface (ethtool.h) not the
      > implementation.
      
      Debatable -- the current comment is located at the callsite of
      ops->get_sset_count(), which is where an implementor might think to add
      a new call.  Not all the numeric fields in ethtool_drvinfo are obtained
      from ->get_sset_count().
      
      Hence the "some" in the attached patch to include/linux/ethtool.h,
      addressing your comment.
      
      > [...]
      >> +static noinline int ethtool_get_sset_info(struct net_device *dev,
      >> +                                          void __user *useraddr)
      >> +{
      > [...]
      >> +	/* calculate size of return buffer */
      >> +	for (i = 0; i<  64; i++)
      >> +		if (sset_mask&  (1ULL<<  i))
      >> +			n_bits++;
      > [...]
      >
      > We have a function for this:
      >
      > 	n_bits = hweight64(sset_mask);
      
      Agreed.
      
      I've attached a follow-up patch, which should enable my/Jeff's kernel
      patch to be applied, followed by this one.
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d17792eb
    • Jeff Garzik's avatar
      ethtool: Add direct access to ops->get_sset_count · 723b2f57
      Jeff Garzik authored
      
      
      This patch is an alternative approach for accessing string
      counts, vs. the drvinfo indirect approach.  This way the drvinfo
      space doesn't run out, and we don't break ABI later.
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      Signed-off-by: default avatarPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      723b2f57
    • Zhu Yi's avatar
      net: backlog functions rename · a3a858ff
      Zhu Yi authored
      
      
      sk_add_backlog -> __sk_add_backlog
      sk_add_backlog_limited -> sk_add_backlog
      Signed-off-by: default avatarZhu Yi <yi.zhu@intel.com>
      Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a3a858ff
    • Zhu Yi's avatar
      net: add limit for socket backlog · 8eae939f
      Zhu Yi authored
      
      
      We got system OOM while running some UDP netperf testing on the loopback
      device. The case is multiple senders sent stream UDP packets to a single
      receiver via loopback on local host. Of course, the receiver is not able
      to handle all the packets in time. But we surprisingly found that these
      packets were not discarded due to the receiver's sk->sk_rcvbuf limit.
      Instead, they are kept queuing to sk->sk_backlog and finally ate up all
      the memory. We believe this is a secure hole that a none privileged user
      can crash the system.
      
      The root cause for this problem is, when the receiver is doing
      __release_sock() (i.e. after userspace recv, kernel udp_recvmsg ->
      skb_free_datagram_locked -> release_sock), it moves skbs from backlog to
      sk_receive_queue with the softirq enabled. In the above case, multiple
      busy senders will almost make it an endless loop. The skbs in the
      backlog end up eat all the system memory.
      
      The issue is not only for UDP. Any protocols using socket backlog is
      potentially affected. The patch adds limit for socket backlog so that
      the backlog size cannot be expanded endlessly.
      Reported-by: default avatarAlex Shi <alex.shi@intel.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
      Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru
      Cc: "Pekka Savola (ipv6)" <pekkas@netcore.fi>
      Cc: Patrick McHardy <kaber@trash.net>
      Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
      Cc: Sridhar Samudrala <sri@us.ibm.com>
      Cc: Jon Maloy <jon.maloy@ericsson.com>
      Cc: Allan Stephens <allan.stephens@windriver.com>
      Cc: Andrew Hendry <andrew.hendry@gmail.com>
      Signed-off-by: default avatarZhu Yi <yi.zhu@intel.com>
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Acked-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8eae939f
  12. 04 Mar, 2010 1 commit
  13. 03 Mar, 2010 2 commits
  14. 02 Mar, 2010 2 commits
  15. 01 Mar, 2010 4 commits
    • Ben Gardner's avatar
      ata: Detect Delkin Devices compact flash · 4b7d1c05
      Ben Gardner authored
      
      
      I have a Delkin Devices compact flash card that isn't being recognized using the
      SATA/PATA drivers.
      The card is recognized and works with the deprecated ATA drivers.
      
      The error I am seeing is:
      ata1.00: failed to IDENTIFY (device reports invalid type, err_mask=0x0)
      
      I tracked it down to ata_id_is_cfa() in include/linux/ata.h.
      The Delkin card has id[0] set to 0x844a and id[83] set to 0.
      This isn't what the kernel expects and is probably incorrect.
      
      The simplest work-around is to add a check for 0x844a to ata_id_is_cfa().
      Signed-off-by: default avatarBen Gardner <gardner.ben@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      4b7d1c05
    • Alan Cox's avatar
      libata: Pass host flags into the pci helper · 16ea0fc9
      Alan Cox authored
      
      
      This allows parallel scan and the like to be set without having to stop
      using the existing full helper functions. This patch merely adds the argument
      and fixes up the callers. It doesn't undo the special cases already in the
      tree or add any new parallel callers.
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      16ea0fc9
    • Tejun Heo's avatar
      libata: implement spurious irq handling for SFF and apply it to piix · 27943620
      Tejun Heo authored
      Traditional IDE interface sucks in that it doesn't have a reliable IRQ
      pending bit, so if the controller raises IRQ while the driver is
      expecting it not to, the IRQ won't be cleared and eventually the IRQ
      line will be killed by interrupt subsystem.  Some controllers have
      non-standard mechanism to indicate IRQ pending so that this condition
      can be detected and worked around.
      
      This patch adds an optional operation ->sff_irq_check() which will be
      called for each port from the ata_sff_interrupt() if an unexpected
      interrupt is received.  If the operation returns %true,
      ->sff_check_status() and ->sff_irq_clear() will be cleared for the
      port.  Note that this doesn't mark the interrupt as handled so it
      won't prevent IRQ subsystem from killing the IRQ if this mechanism
      fails to clear the spurious IRQ.
      
      This patch also implements ->sff_irq_check() for ata_piix.  Note that
      this adds slight overhead to shared IRQ operation as IRQs which are
      destined for other controllers will trigger extra register accesses to
      check whether IDE interrupt is pending but this solves rare screaming
      IRQ cases and for some curious reason also helps weird BIOS related
      glitch on Samsung n130 as reported in bko#14314.
      
        http://bugzilla.kernel.org/show_bug.cgi?id=14314
      
      
      
      * piix_base_ops dropped as suggested by Sergei.
      
      * Spurious IRQ detection doesn't kick in anymore if polling qc is in
        progress.  This provides less protection but some controllers have
        possible data corruption issues if the wrong register is accessed
        while a command is in progress.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarJohannes Stezenbach <js@sig21.net>
      Reported-by: default avatarHans Werner <hwerner4@gmx.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      27943620
    • Ville Syrjälä's avatar
      OMAP: DSS2: OMAPFB: install omapfb.h · d2e82add
      Ville Syrjälä authored
      
      
      omapfb has several custom ioctls so user space needs
      the header in order to utilize them.
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@nokia.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@nokia.com>
      d2e82add
  16. 28 Feb, 2010 5 commits
  17. 27 Feb, 2010 3 commits