Netdev List
 help / color / mirror / Atom feed
* pull request: wireless-next 2013-02-18
From: John W. Linville @ 2013-02-18 19:54 UTC (permalink / raw)
  To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 31204 bytes --]

Dave,

This probably is the last big pull request for wireless bits
for 3.9.  Of course, I'm sure there will be a few stragglers here
and there...surely a few bug fixes as well... :-) (In fact, I see
that Johannes has already queued-up a few more for me while I was
preparing this...)

Included are a number of pulls...

For mac80211-next, Johannes says:

"The biggest change I have is undoubtedly Marco's mesh powersave
implementation. Beyond that, I have a patch from Emmanuel to modify the
DTIM period API in mac80211, scan improvements and a removal of some
previous workaround code from Stanislaw, dynamic short slot time from
Thomas and 64-bit station byte counters from Vladimir. I also made a
number of changes myself, some related to WoWLAN, some auth/deauth
improvements and most of them BSS list cleanups."

"This time, I have relatively large number of fixes in various areas of
the code (a memory leak in regulatory, an RX race in mac80211, the new
radar checking caused a P2P device problem, some mesh issues with
stations, an older bug in tracing and for kernel-doc) as well as a
number of small new features. The biggest (in the diffstat) is my work
on hidden SSID tracking."

"Please pull to get
 * radar detection work from Simon
 * mesh improvements from Thomas
 * a connection monitoring/powersave fix from Wojciech
 * TDLS-related station management work from Jouni
 * VLAN crypto fixes from Michael Braun
 * CCK support in minstrel_ht from Felix
 * an SMPS (not SMSP, oops) related improvement in mac80211 (Emmanuel)
 * some WoWLAN work from Amitkumar Karwar: pattern match offset and a
   documentation fix
 * some WoWLAN work from myself (TCP connection wakeup feature API)
 * and a lot of VHT (and some HT) work (also from myself)

And a number of more random cleanups/fixes. I merged mac80211/master to
avoid a merge problem there."

And regarding iwlwifi-next, Johannes says:

"We continue work on our new driver, but I also have a WoWLAN and AP mode
improvement for the previous driver and a change to use threaded
interrupts to prepare us for working with non-PCIe devices."

Regarding wl12xx, Luca says:

"A few more patches intended for 3.9.  Mostly some clean-ups I've been
doing to make it easier to support device-tree.  Also including one bug
fix for wl12xx where the rates we advertise were wrong and an update in
the wlconf structure to support newer firmwares."

For the nfc-next bits, Samuel says:

"This is the second NFC pull request for 3.9.

We have:

- A few pn533 fixes on top of Waldemar refactorization of the driver, one of
  them fixes target mode.

- A new driver for Inside Secure microread chipset. It supports two
  physical layers: i2c and MEI. The MEI one depends on a patchset that's
  been sent to Greg Kroah-Hartman for inclusion into the 3.9 kernel [1]. The
  dependency is a KConfig one which means this code is not buildable as long
  as the MEI API is not usptream."

"This 3rd NFC pull request for 3.9 contains a fix for the microread MEI
physical layer support, as the MEI bus API changed.

From the MEI code, we now pass the MEI id back to the driver probe routine,
and we also pass a name and a MEI id table through the mei_bus_driver
structure. A few renames as well like e.g. mei_bus_driver to mei_driver or
mei_bus_client to mei_device in order to be closer to the driver model
practices."

For the ath6kl bits, Kalle says:

"There's not anything special here, most of the patches are just code
cleanup. The only functional changes are using the beacon interval from user
space and fixing a crash which happens when inserting and removing the
module in a loop."

Also, I pulled the wireless tree in order to resolve some pending
merge issues.  On top of that, there is a bunch of work on brcmfmac
that leads up to P2P support.  Also, mwifiex, rtlwifi, and a variety
of other drivers see some basic cleanups and minor enhancements.

Please let me know if there are problems!

Thanks,

John

---

The following changes since commit 4153577a8d318ae02b3791341e10e78416de402f:

  tg3: Use different macros for pci_chip_rev_id accesses (2013-02-18 12:45:53 -0500)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git for-davem

for you to fetch changes up to 98d5fac2330779e6eea6431a90b44c7476260dcc:

  Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem (2013-02-18 13:47:13 -0500)

----------------------------------------------------------------

Alexander Bondar (1):
      mac80211: add vif debugfs driver callbacks

Amitkumar Karwar (2):
      nl80211: minor correction in sample wowlan mask calculation
      nl80211: add packet offset information for wowlan pattern

Arend van Spriel (9):
      brcmfmac: add chip information to the bus interface
      brcmfmac: add function to retrieve chip information
      brcmfmac: fix problem connecting to AP without security
      brcmfmac: add peer-to-peer group discovery support
      brcmfmac: add support for creating P2P client/GO interface
      brcmfmac: fix compiler warning on printf format
      brcmfmac: fix generation of the p2p related mac addresses
      brcmfmac: implement support for deleting virtual interfaces
      brcmfmac: change function signatures

Avinash Patil (5):
      mwifiex: store card specific data in PCI device table entry
      mwifiex: separate ring initialization and ring creation routines
      mwifiex: define generic data type for PCIe ring buffers
      mwifiex: add PCIe8897 support
      mwifiex: device specific sleep cookie handling for PCIe

Beni Lev (1):
      iwlwifi: mvm: fix TKIP key updating

Catalin Iacob (1):
      rtlwifi: Initialize rate_init member of struct rate_control_ops

Christian Lamparter (1):
      mac80211: protect rx-path with spinlock

Cong Ding (1):
      net: wireless/rtlwifi: fix uninitialized variable issue

Dan Carpenter (2):
      NFC: llcp: integer underflow in nfc_llcp_set_remote_gb()
      brcmsmac: fix brcms_c_country_valid()

Emanuel Taube (1):
      mac80211: Add the DS Params for mesh to every band

Emmanuel Grumbach (7):
      mac80211: inform the driver about update of dtim_period
      iwlwifi: don't ack the card state notification
      iwlwifi: mvm: fix the keyidx assignment
      iwlwifi: mvm: fix locking in iwl_mvm_ipv6_addr_change
      mac80211: allow driver to be stateless wrt. SMSP requests
      iwlwifi: mvm: use atomic interface iteration to avoid deadlock
      iwlwifi: mvm: beautify code in rx_handlers

Eric Lapuyade (1):
      NFC: Initial support for Inside Secure microread

Felix Fietkau (3):
      mac80211/minstrel_ht: show the number of retries for each rate in debugfs
      mac80211/minstrel_ht: remove the sampling bypass check for the lowest rate
      mac80211/minstrel_ht: add support for using CCK rates

Hante Meuleman (32):
      brcmfmac: Remove drvr_up from bus interface.
      brcmfmac: Remove copy mac address from drvr at netdev up.
      brcmfmac: Use struct brcmf_if in brcmf_configure_opensecurity.
      brcmfmac: Track pending 8021x frames per ifp.
      brcmfmac: Add logging for FIL int set/get cmds.
      brcmfmac: Track statistics per ifp.
      brcmfmac: Update tracelogging for multiple netdevs.
      brcmfmac: Cleanup function brcmf_notifiy_connect_status_ap.
      brcmfmac: Use single function for channel to chanspec.
      brcmfmac: use brcmf_if::bssidx as index in interface list
      brcmfmac: Check null pointer on brcmf_dev_reset.
      brcmfmac: add support for P2P listen mode.
      brcmfmac: update escan for multiple bss and simplify.
      brcmfmac: update p2p add and delete vif routines.
      brcmfmac: add p2p change vif routines.
      brcmfmac: Fix bug mgmt_rx_register
      brcmfmac: Update connect setup/handling routines for multiple bss.
      brcmfmac: Update AP mode for GO creation.
      brcmfmac: Add handling of receiving P2P action frames.
      brcmfmac: P2P action frame tx.
      brcmfmac: Use real cookie value for p2p remain on channel.
      brcmfmac: Create p2p0 netdev via module variable.
      brcmfmac: Use role from wdev on AP commands and fix stop_ap.
      brcmfmac: Put printing action frames code under debug flag.
      brcmfmac: Ignore E_ADD_IF for ifidx 0.
      brcmfmac: Reject change vif for p2p if.
      brcmfmac: Update netdev configuration in wiphy for p2p.
      brcmfmac: Remove sleep on del_station.
      brcmfmac: Fix rtnl_lock lockup when registering netdev.
      brcmfmac: Cleanup of unused defines.
      brcmfmac: Create netdev before returning from add_virtual_intf.
      brcmfmac: Add tx p2p off-channel support.

Ilan Peer (3):
      iwlwifi: mvm: Update quota settings for all bindings
      iwlwifi: mvm: Change the Time Event type used for ROC
      cfg80211: fix radar check for P2P_DEVICE

Jiri Slaby (1):
      NET: ath5k, check ath5k_eeprom_mode_from_channel retval

Joe Perches (3):
      mwl8k: Remove unnecessary alloc/OOM messages
      brcmsmac: Downgrade d11hdrs_mac80211 error messages to warnings.
      brcmsmac: Remove unnecessary memset casts

Johannes Berg (74):
      Merge remote-tracking branch 'wireless-next/master' into HEAD
      cfg80211: add SME state to warning in __cfg80211_mlme_disassoc
      cfg80211/mac80211: support reporting wakeup reason
      mac80211: remove assoc data "sent_assoc"
      mac80211: remove last_probe_resp from bss
      mac80211: remove unused mesh data from bss
      cfg80211: remove free_priv BSS API
      mac80211: start auth/assoc timeout on frame status
      mac80211: send deauth when connection is lost
      mac80211: always allow calling ieee80211_connection_loss()
      cfg80211: refactor hidden SSID finding
      cfg80211: fix BSS list hidden SSID lookup
      cfg80211: simplify mesh BSS comparison
      cfg80211: remove unused cfg80211_get_mesh
      mac80211: remove unused SSID from BSS
      cfg80211: fix BSS IE allocation comment
      cfg80211: move locking into cfg80211_bss_age
      mac80211: allow transmitting deauth with tainted key
      mac80211: send deauth if connection was lost during suspend
      cfg80211: use lockdep to assert lock is held
      cfg80211: remove a local variable
      cfg80211: wrap BSS kref
      iwlwifi: use threaded interrupt handler
      Merge remote-tracking branch 'wireless-next/master' into HEAD
      cfg80211: pass wiphy to cfg80211_ref_bss/put_bss
      wireless: fix kernel-doc
      mac80211: fix AP beacon loss messages
      mac80211: fix chandef tracing bug
      mac80211: explicitly copy channels to VLANs where needed
      cfg80211: track hidden SSID networks properly
      cfg80211: remove scan ies NULL check
      cfg80211: move TSF into IEs
      mac80211: introduce beacon-only timing data
      mac80211: remove dynamic PS driver interface
      mac80211: remove IEEE80211_HW_SCAN_WHILE_IDLE
      mac80211: simplify idle handling
      mac80211: remove unused code to mark AP station authenticated
      Merge remote-tracking branch 'wireless-next/master' into iwlwifi-next
      iwlwifi: dvm: query and report WoWLAN wakeup reason
      iwlwifi: mvm: report wakeup reasons
      iwlwifi: dvm: apply beacon changes immediately
      iwlwifi: mvm: don't delay the association until after beacon
      iwlwifi: mvm: don't wait for session protection to start
      iwlwifi: mvm: update station when marked associated
      cfg80211: configuration for WoWLAN over TCP
      mac80211: fix auth/assoc timeout handling
      mac80211: don't call bss_info_changed on p2p-device/monitor
      mac80211: always unblock CSA queue stop when disconnecting
      mac80211: don't pick up WPA vendor IE
      mac80211: use spin_lock_bh() for tim_lock
      mac80211: use spin_lock_bh() for TKIP lock
      Merge remote-tracking branch 'mac80211/master' into HEAD
      mac80211: pass station to ieee80211_vht_cap_ie_to_sta_vht_cap
      mac80211: stop toggling IEEE80211_HT_CAP_SUP_WIDTH_20_40
      wireless: define operating mode action frame
      mac80211: track number of spatial streams
      mac80211: handle VHT operating mode notification
      mac80211: init HT TX data before rate control
      mac80211: fix HT/VHT disable flags
      mac80211: fix ieee80211_change_chandef name
      mac80211: handle operating mode notif in beacon/assoc response
      mac80211: disable HT/VHT if AP has no HT/VHT capability
      mac80211: clean up channel use in ieee80211_config_ht_tx
      mac80211: add ieee80211_vif_change_bandwidth
      mac80211: move ieee80211_determine_chantype function
      mac80211: properly track HT/VHT operation changes
      cfg80211: allow drivers to selectively disable 80/160 MHz
      nl80211: advertise HT/VHT channel limitations
      mac80211: constify IE parsing
      mac80211: stop modifying HT SMPS capability
      cfg80211: advertise extended capabilities to userspace
      mac80211: advertise operating mode notification capability
      nl80211: renumber NL80211_FEATURE_FULL_AP_CLIENT_STATE
      mac80211: prevent spurious HT/VHT downgrade message

John W. Linville (10):
      Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'for-linville' of git://git.kernel.org/.../luca/wl12xx
      Merge tag 'nfc-next-3.9-2' of git://git.kernel.org/.../sameo/nfc-next
      Merge tag 'nfc-next-3.9-3' of git://git.kernel.org/.../sameo/nfc-next
      Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'for-john' of git://git.kernel.org/.../iwlwifi/iwlwifi-next
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless
      Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'for-linville' of git://github.com/kvalo/ath6kl
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next into for-davem

Jonas Gorski (1):
      mwl8k: add single band 88W8366 PCI device IDs

Jouni Malinen (2):
      cfg80211: Pass station (extended) capability info to kernel
      cfg80211: Pass TDLS peer's QoS/HT/VHT information during set_station

Julia Lawall (1):
      drivers/net/wireless/ath/ath6kl/hif.c: drop if around WARN_ON

Karl Beldan (1):
      mac80211_hwsim: ask mac80211 to reserve space for chanctx.drv_priv

Larry Finger (4):
      rtlwifi: rtl8192cu: Fix NULL dereference BUG when using new_id
      rtlwifi: rtl8192cu: Add new USB ID
      cfg80211: Fix memory leak
      rtlwifi: Rework Kconfig

Luciano Coelho (10):
      wlcore: use single-role version when verifying the PLT firmware
      wlcore: remove unused set_power method
      wlcore: remove if_ops from platform_data
      wlcore: use wl12xx_platform_data pointer from wlcore_pdev_data
      wlcore: use PLATFORM_DEVID_AUTO for plat dev creation to avoid conflicts
      wlcore: move wl12xx_platform_data up and make it truly optional
      wlcore: don't hide real error code when booting fails
      wlcore: fix wrong remote rates when starting STA role
      wlcore: remove newly introduced alloc/OOM messages
      cfg80211: check vendor IE length to avoid overrun

Marco Porsch (1):
      mac80211: mesh power save basics

Michael Braun (2):
      mac80211: free ps->bc_buf skbs on vlan device stop
      mac80211: fix WPA with VLAN on AP side with ps-sta

Mohammed Shafi Shajakhan (9):
      ath6kl: Fix a mismatch in power management debug message
      ath6kl: Remove erroneous flag clearing
      ath6kl: Use standard way to assign the boolean variable
      ath6kl: remove unnecessary check for NULL skb
      ath6kl: Fix kernel panic on continuous driver load/unload
      ath6kl: trivial cleanup on interface type selection
      ath6kl: Parse beacon interval from userspace
      ath6kl: Move and rename ath6kl_cleanup_vif function
      ath6kl: minor optimization using if, else if

Piotr Haber (3):
      brcmfmac: fix mmc host locking issue
      brcmfmac: turn clocks on when reading shared info
      brcmfmac: remove unnecessary locking in trap info processing

Samuel Ortiz (3):
      NFC: microread: Add i2c physical layer
      NFC: microread: Add MEI physical layer
      NFC: microread: Fix mei physical layer

Seth Forshee (2):
      mac80211: Fix tx queue handling during scans
      mac80211: Add flushes before going off-channel

Simon Wunderlich (2):
      nl80211/cfg80211: add radar detection command/event
      mac80211: add radar detection command/event

Stanislaw Gruszka (4):
      mac80211: remove IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL
      mac80211: improve latency and throughput while software scanning
      rt2x00: check for dma mappings errors
      iwlegacy: more checks for dma mapping errors

Sujith Manoharan (2):
      ath9k: Fix ATH9K_HW_CAP_HT usage
      ath9k: Fix IBSS joiner mode

Thierry Escande (1):
      NFC: pn533: Fix target polling mode

Thomas Pedersen (6):
      mac80211: dynamic short slot time for MBSSs
      mac80211: stop plink timer only on mesh interfaces
      mac80211: fix mesh sta teardown
      mac80211: consolidate MBSS change notification
      mac80211: cache mesh beacon
      mac80211: generate mesh probe responses

Tim Gardner (2):
      brcmsmac: fix u16 overflow warning
      brcmsmac: avoid 512 byte stack variable

Tomasz Guszkowski (1):
      p54usb: corrected USB ID for T-Com Sinus 154 data II

Victor Goldenshtein (1):
      wl18xx: add new phy configuration parameters for telec support

Vladimir Kondratiev (2):
      cfg80211: expand per-station byte counters to 64bit
      ath6kl: provide 64-bit per-station byte counters

Waldemar Rymarkiewicz (2):
      nfc: pn533: Use static poll_mod and std_frame_ops
      nfc: pn533: Remove unreachable code

Wojciech Dubowik (1):
      mac80211: fix ieee80211_sta_tx_notify for nullfunc

Xose Vazquez Perez (2):
      wireless: rt2x00: rt2800usb add Sweex ids
      wireless: rt2x00: rt2800usb add "unknown" devices

 arch/arm/mach-omap2/board-omap3evm.c               |   10 +-
 drivers/net/wireless/ath/ath5k/phy.c               |    4 +
 drivers/net/wireless/ath/ath5k/reset.c             |    2 +
 drivers/net/wireless/ath/ath6kl/cfg80211.c         |  117 +-
 drivers/net/wireless/ath/ath6kl/cfg80211.h         |    2 -
 drivers/net/wireless/ath/ath6kl/core.h             |    2 +-
 drivers/net/wireless/ath/ath6kl/htc_pipe.c         |   26 +-
 drivers/net/wireless/ath/ath6kl/init.c             |   36 +-
 drivers/net/wireless/ath/ath6kl/usb.c              |    6 +-
 drivers/net/wireless/ath/ath6kl/wmi.c              |   30 +-
 drivers/net/wireless/ath/ath6kl/wmi.h              |    6 +
 drivers/net/wireless/ath/ath9k/ath9k.h             |    1 +
 drivers/net/wireless/ath/ath9k/beacon.c            |  113 +-
 drivers/net/wireless/ath/ath9k/main.c              |   13 +-
 drivers/net/wireless/ath/ath9k/rc.c                |    2 +-
 drivers/net/wireless/ath/ath9k/recv.c              |    2 +-
 drivers/net/wireless/ath/ath9k/xmit.c              |    5 +-
 drivers/net/wireless/ath/carl9170/main.c           |    2 +-
 drivers/net/wireless/ath/wil6210/cfg80211.c        |    2 +-
 drivers/net/wireless/ath/wil6210/wmi.c             |    2 +-
 drivers/net/wireless/brcm80211/brcmfmac/Makefile   |    3 +-
 drivers/net/wireless/brcm80211/brcmfmac/dhd.h      |   57 +-
 drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h  |   19 +-
 drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c  |    8 +
 .../net/wireless/brcm80211/brcmfmac/dhd_linux.c    |  311 +--
 drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c |   25 +-
 drivers/net/wireless/brcm80211/brcmfmac/fweh.c     |   11 +-
 drivers/net/wireless/brcm80211/brcmfmac/fweh.h     |    6 +-
 drivers/net/wireless/brcm80211/brcmfmac/fwil.c     |    7 +-
 .../net/wireless/brcm80211/brcmfmac/fwil_types.h   |   66 +
 drivers/net/wireless/brcm80211/brcmfmac/p2p.c      | 2277 ++++++++++++++++++++
 drivers/net/wireless/brcm80211/brcmfmac/p2p.h      |  183 ++
 drivers/net/wireless/brcm80211/brcmfmac/usb.c      |   11 +-
 .../net/wireless/brcm80211/brcmfmac/wl_cfg80211.c  | 1375 ++++++++----
 .../net/wireless/brcm80211/brcmfmac/wl_cfg80211.h  |  113 +-
 drivers/net/wireless/brcm80211/brcmsmac/channel.c  |    3 +-
 drivers/net/wireless/brcm80211/brcmsmac/main.c     |   65 +-
 drivers/net/wireless/iwlegacy/3945-mac.c           |   51 +-
 drivers/net/wireless/iwlegacy/4965-mac.c           |   38 +-
 drivers/net/wireless/iwlegacy/4965-rs.c            |    3 +-
 drivers/net/wireless/iwlegacy/common.c             |   32 +-
 drivers/net/wireless/iwlwifi/dvm/agn.h             |    2 +-
 drivers/net/wireless/iwlwifi/dvm/commands.h        |   18 +
 drivers/net/wireless/iwlwifi/dvm/mac80211.c        |  166 +-
 drivers/net/wireless/iwlwifi/dvm/rs.c              |   12 +-
 drivers/net/wireless/iwlwifi/dvm/rx.c              |    2 +-
 drivers/net/wireless/iwlwifi/dvm/rxon.c            |    5 +-
 drivers/net/wireless/iwlwifi/dvm/sta.c             |   40 +-
 drivers/net/wireless/iwlwifi/dvm/tx.c              |   26 +-
 drivers/net/wireless/iwlwifi/iwl-op-mode.h         |   10 +-
 drivers/net/wireless/iwlwifi/iwl-trans.h           |   29 +-
 drivers/net/wireless/iwlwifi/mvm/d3.c              |  174 +-
 drivers/net/wireless/iwlwifi/mvm/fw-api.h          |    3 +
 drivers/net/wireless/iwlwifi/mvm/fw.c              |    4 -
 drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c        |    6 +-
 drivers/net/wireless/iwlwifi/mvm/mac80211.c        |   20 +-
 drivers/net/wireless/iwlwifi/mvm/ops.c             |   41 +-
 drivers/net/wireless/iwlwifi/mvm/power.c           |    2 +-
 drivers/net/wireless/iwlwifi/mvm/quota.c           |   29 +-
 drivers/net/wireless/iwlwifi/mvm/rs.c              |   30 +-
 drivers/net/wireless/iwlwifi/mvm/rx.c              |    2 +-
 drivers/net/wireless/iwlwifi/mvm/sta.c             |   40 +-
 drivers/net/wireless/iwlwifi/mvm/sta.h             |    6 +-
 drivers/net/wireless/iwlwifi/mvm/time-event.c      |  232 +-
 drivers/net/wireless/iwlwifi/mvm/tx.c              |   12 +-
 drivers/net/wireless/iwlwifi/pcie/internal.h       |    3 +-
 drivers/net/wireless/iwlwifi/pcie/rx.c             |   40 +-
 drivers/net/wireless/iwlwifi/pcie/trans.c          |   11 +-
 drivers/net/wireless/iwlwifi/pcie/tx.c             |    8 +-
 drivers/net/wireless/libertas/cfg.c                |    8 +-
 drivers/net/wireless/mac80211_hwsim.c              |    1 +
 drivers/net/wireless/mwifiex/Kconfig               |    4 +-
 drivers/net/wireless/mwifiex/cfg80211.c            |    2 +-
 drivers/net/wireless/mwifiex/pcie.c                |  769 ++++---
 drivers/net/wireless/mwifiex/pcie.h                |  215 +-
 drivers/net/wireless/mwifiex/scan.c                |    2 +-
 drivers/net/wireless/mwifiex/sta_ioctl.c           |   11 +-
 drivers/net/wireless/mwl8k.c                       |    2 +
 drivers/net/wireless/orinoco/scan.c                |    4 +-
 drivers/net/wireless/p54/p54usb.c                  |    2 +-
 drivers/net/wireless/rndis_wlan.c                  |    4 +-
 drivers/net/wireless/rt2x00/rt2400pci.c            |   12 +-
 drivers/net/wireless/rt2x00/rt2500pci.c            |    7 +-
 drivers/net/wireless/rt2x00/rt2800usb.c            |   21 +
 drivers/net/wireless/rt2x00/rt2x00.h               |    4 +-
 drivers/net/wireless/rt2x00/rt2x00queue.c          |   31 +-
 drivers/net/wireless/rtlwifi/Kconfig               |   50 +-
 drivers/net/wireless/rtlwifi/base.c                |    7 +-
 drivers/net/wireless/rtlwifi/rc.c                  |   12 +-
 drivers/net/wireless/rtlwifi/rtl8192ce/hw.c        |    6 +-
 drivers/net/wireless/rtlwifi/rtl8192ce/trx.c       |    5 +-
 drivers/net/wireless/rtlwifi/rtl8192cu/mac.c       |    2 +-
 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c        |    9 +-
 drivers/net/wireless/rtlwifi/rtl8192de/hw.c        |    3 +-
 drivers/net/wireless/rtlwifi/rtl8192de/trx.c       |    3 +-
 drivers/net/wireless/rtlwifi/rtl8192se/hw.c        |    3 +-
 drivers/net/wireless/rtlwifi/rtl8192se/trx.c       |    3 +-
 drivers/net/wireless/rtlwifi/rtl8723ae/hw.c        |    3 +-
 drivers/net/wireless/rtlwifi/rtl8723ae/trx.c       |    3 +-
 drivers/net/wireless/rtlwifi/usb.c                 |    5 +-
 drivers/net/wireless/rtlwifi/usb.h                 |    3 +-
 drivers/net/wireless/ti/Kconfig                    |    9 +
 drivers/net/wireless/ti/Makefile                   |    4 +-
 ...12xx_platform_data.c => wilink_platform_data.c} |    0
 drivers/net/wireless/ti/wl1251/event.c             |    6 +-
 drivers/net/wireless/ti/wl1251/main.c              |   24 +-
 drivers/net/wireless/ti/wl12xx/main.c              |    3 +-
 drivers/net/wireless/ti/wl18xx/conf.h              |    7 +-
 drivers/net/wireless/ti/wl18xx/main.c              |    7 +-
 drivers/net/wireless/ti/wlcore/Kconfig             |    5 -
 drivers/net/wireless/ti/wlcore/Makefile            |    3 -
 drivers/net/wireless/ti/wlcore/boot.c              |    4 +-
 drivers/net/wireless/ti/wlcore/cmd.c               |    8 +-
 drivers/net/wireless/ti/wlcore/main.c              |   18 +-
 drivers/net/wireless/ti/wlcore/sdio.c              |   35 +-
 drivers/net/wireless/ti/wlcore/spi.c               |   40 +-
 drivers/net/wireless/ti/wlcore/wlcore.h            |    1 -
 drivers/net/wireless/ti/wlcore/wlcore_i.h          |    5 +
 drivers/nfc/Kconfig                                |    1 +
 drivers/nfc/Makefile                               |    1 +
 drivers/nfc/microread/Kconfig                      |   35 +
 drivers/nfc/microread/Makefile                     |   10 +
 drivers/nfc/microread/i2c.c                        |  340 +++
 drivers/nfc/microread/mei.c                        |  246 +++
 drivers/nfc/microread/microread.c                  |  728 +++++++
 drivers/nfc/microread/microread.h                  |   33 +
 drivers/nfc/pn533.c                                |    8 +-
 drivers/staging/wlan-ng/cfg80211.c                 |    2 +-
 include/linux/ieee80211.h                          |   50 +-
 include/linux/platform_data/microread.h            |   35 +
 include/linux/wl12xx.h                             |   16 +-
 include/net/cfg80211.h                             |  226 +-
 include/net/mac80211.h                             |  170 +-
 include/uapi/linux/nl80211.h                       |  274 ++-
 net/mac80211/Kconfig                               |   11 +
 net/mac80211/Makefile                              |    3 +-
 net/mac80211/cfg.c                                 |   95 +-
 net/mac80211/chan.c                                |  155 +-
 net/mac80211/debug.h                               |   10 +
 net/mac80211/debugfs.c                             |    6 +-
 net/mac80211/debugfs_netdev.c                      |    5 +
 net/mac80211/debugfs_sta.c                         |    5 +-
 net/mac80211/driver-ops.h                          |   54 +-
 net/mac80211/ht.c                                  |  110 +-
 net/mac80211/ibss.c                                |   53 +-
 net/mac80211/ieee80211_i.h                         |  196 +-
 net/mac80211/iface.c                               |  132 +-
 net/mac80211/main.c                                |   42 +-
 net/mac80211/mesh.c                                |  284 ++-
 net/mac80211/mesh.h                                |   40 +-
 net/mac80211/mesh_hwmp.c                           |   49 +-
 net/mac80211/mesh_pathtbl.c                        |   12 +-
 net/mac80211/mesh_plink.c                          |  120 +-
 net/mac80211/mesh_ps.c                             |  598 +++++
 net/mac80211/mlme.c                                | 1081 ++++++----
 net/mac80211/offchannel.c                          |   35 +-
 net/mac80211/pm.c                                  |   12 +
 net/mac80211/rate.h                                |    2 +
 net/mac80211/rc80211_minstrel.c                    |   29 +
 net/mac80211/rc80211_minstrel.h                    |    2 +
 net/mac80211/rc80211_minstrel_ht.c                 |  181 +-
 net/mac80211/rc80211_minstrel_ht.h                 |    5 +-
 net/mac80211/rc80211_minstrel_ht_debugfs.c         |  112 +-
 net/mac80211/rx.c                                  |  161 +-
 net/mac80211/scan.c                                |   66 +-
 net/mac80211/sta_info.c                            |   38 +-
 net/mac80211/sta_info.h                            |   20 +-
 net/mac80211/status.c                              |   25 +-
 net/mac80211/tkip.c                                |   10 +-
 net/mac80211/trace.h                               |   23 +-
 net/mac80211/tx.c                                  |  109 +-
 net/mac80211/util.c                                |   82 +-
 net/mac80211/vht.c                                 |  172 +-
 net/mac80211/wme.c                                 |   13 +-
 net/mac80211/wpa.c                                 |    5 +-
 net/nfc/llcp/llcp.c                                |    5 +-
 net/wireless/chan.c                                |  142 +-
 net/wireless/core.c                                |    8 +-
 net/wireless/core.h                                |   35 +-
 net/wireless/ibss.c                                |    4 +-
 net/wireless/mlme.c                                |  136 +-
 net/wireless/nl80211.c                             |  783 ++++++-
 net/wireless/nl80211.h                             |    7 +
 net/wireless/reg.c                                 |   20 +-
 net/wireless/scan.c                                |  630 +++---
 net/wireless/sme.c                                 |   16 +-
 net/wireless/sysfs.c                               |    2 -
 net/wireless/trace.h                               |   80 +
 net/wireless/util.c                                |    2 +-
 189 files changed, 12387 insertions(+), 3236 deletions(-)
 create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/fwil_types.h
 create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/p2p.c
 create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/p2p.h
 rename drivers/net/wireless/ti/{wlcore/wl12xx_platform_data.c => wilink_platform_data.c} (100%)
 create mode 100644 drivers/nfc/microread/Kconfig
 create mode 100644 drivers/nfc/microread/Makefile
 create mode 100644 drivers/nfc/microread/i2c.c
 create mode 100644 drivers/nfc/microread/mei.c
 create mode 100644 drivers/nfc/microread/microread.c
 create mode 100644 drivers/nfc/microread/microread.h
 create mode 100644 include/linux/platform_data/microread.h
 create mode 100644 net/mac80211/mesh_ps.c
-- 
John W. Linville		Someday the world will need a hero, and you
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org			might be all we have.  Be ready.

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* Re: [PATCH net-next 4/4] net: proc: remove proc_net_remove
From: David Miller @ 2013-02-18 19:54 UTC (permalink / raw)
  To: gaofeng-BthXqXjhjHXQFUHtdCDX3A
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	ebiederm-aS9lmoZGLiVWk0Htik3J/w
In-Reply-To: <1361187297-2527-4-git-send-email-gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

From: Gao feng <gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
Date: Mon, 18 Feb 2013 19:34:57 +0800

> proc_net_remove has been replaced by remove_proc_entry.
> we can remove it now.
> 
> Signed-off-by: Gao feng <gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

Applied.

^ permalink raw reply

* Re: [PATCH net-next 3/4] net: proc: change proc_net_remove to remove_proc_entry
From: David Miller @ 2013-02-18 19:54 UTC (permalink / raw)
  To: gaofeng-BthXqXjhjHXQFUHtdCDX3A
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	ebiederm-aS9lmoZGLiVWk0Htik3J/w
In-Reply-To: <1361187297-2527-3-git-send-email-gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

From: Gao feng <gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
Date: Mon, 18 Feb 2013 19:34:56 +0800

> proc_net_remove is only used to remove proc entries
> that under /proc/net,it's not a general function for
> removing proc entries of netns. if we want to remove
> some proc entries which under /proc/net/stat/, we still
> need to call remove_proc_entry.
> 
> this patch use remove_proc_entry to replace proc_net_remove.
> we can remove proc_net_remove after this patch.
> 
> Signed-off-by: Gao feng <gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

Applied.

^ permalink raw reply

* Re: [PATCH net-next 2/4] net: proc: remove proc_net_fops_create
From: David Miller @ 2013-02-18 19:54 UTC (permalink / raw)
  To: gaofeng-BthXqXjhjHXQFUHtdCDX3A
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	ebiederm-aS9lmoZGLiVWk0Htik3J/w
In-Reply-To: <1361187297-2527-2-git-send-email-gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

From: Gao feng <gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
Date: Mon, 18 Feb 2013 19:34:55 +0800

> proc_net_fops_create has been replaced by proc_create,
> we can remove it now.
> 
> Signed-off-by: Gao feng <gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

Applied.

^ permalink raw reply

* Re: [PATCH net-next 1/4] net: proc: change proc_net_fops_create to proc_create
From: David Miller @ 2013-02-18 19:53 UTC (permalink / raw)
  To: gaofeng-BthXqXjhjHXQFUHtdCDX3A
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	ebiederm-aS9lmoZGLiVWk0Htik3J/w
In-Reply-To: <1361187297-2527-1-git-send-email-gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

From: Gao feng <gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
Date: Mon, 18 Feb 2013 19:34:54 +0800

> Right now, some modules such as bonding use proc_create
> to create proc entries under /proc/net/, and other modules
> such as ipv4 use proc_net_fops_create.
> 
> It looks a little chaos.this patch changes all of
> proc_net_fops_create to proc_create. we can remove
> proc_net_fops_create after this patch.
> 
> Signed-off-by: Gao feng <gaofeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

Applied.

This series would have been a good one to use a "[PATCH 0/4] "
introductory posting.

^ permalink raw reply

* Re: [PATCH v5 00/45] CPU hotplug: stop_machine()-free CPU hotplug
From: Steven Rostedt @ 2013-02-18 19:53 UTC (permalink / raw)
  To: Vincent Guittot
  Cc: Srivatsa S. Bhat, paulmck, Russell King - ARM Linux, linux-doc,
	peterz, fweisbec, linux-kernel, walken, mingo, linux-arch,
	xiaoguangrong, wangyun, nikunj, linux-pm, Rusty Russell, rjw,
	namhyung, tglx, linux-arm-kernel, netdev, oleg, sbw, tj, akpm,
	linuxppc-dev
In-Reply-To: <CAKfTPtC4hbXXWO=_zsGYryM9hpWaGFLbiY+jiLf=koLa4xGJOQ@mail.gmail.com>

On Mon, 2013-02-18 at 17:50 +0100, Vincent Guittot wrote:

> yes for sure.
> The problem is more linked to cpuidle and function tracer.
> 
> cpu hotplug and function tracer work when cpuidle is disable.
> cpu hotplug and cpuidle works if i don't enable function tracer.
> my platform is dead as soon as I enable function tracer if cpuidle is
> enabled. It looks like some notrace are missing in my platform driver
> but we haven't completely fix the issue yet
> 

You can bisect to find out exactly what function is the problem:

 cat /debug/tracing/available_filter_functions > t
 
f(t) {
 num=`wc -l t`
 sed -ne "1,${num}p" t > t1
 let num=num+1
 sed -ne "${num},$p" t > t2

 cat t1 > /debug/tracing/set_ftrace_filter
 # note this may take a long time to finish

 echo function > /debug/tracing/current_tracer

 <failed? bisect f(t1), if not bisect f(t2)>
}

-- Steve

^ permalink raw reply

* Re: [PATCH v5 00/45] CPU hotplug: stop_machine()-free CPU hotplug
From: Steven Rostedt @ 2013-02-18 19:53 UTC (permalink / raw)
  To: Vincent Guittot
  Cc: Srivatsa S. Bhat, paulmck, Russell King - ARM Linux, linux-doc,
	peterz, fweisbec, linux-kernel, walken, mingo, linux-arch,
	xiaoguangrong, wangyun, nikunj, linux-pm, Rusty Russell, rjw,
	namhyung, tglx, linux-arm-kernel, netdev, oleg, sbw, tj, akpm,
	linuxppc-dev
In-Reply-To: <CAKfTPtC4hbXXWO=_zsGYryM9hpWaGFLbiY+jiLf=koLa4xGJOQ@mail.gmail.com>

On Mon, 2013-02-18 at 17:50 +0100, Vincent Guittot wrote:

> yes for sure.
> The problem is more linked to cpuidle and function tracer.
> 
> cpu hotplug and function tracer work when cpuidle is disable.
> cpu hotplug and cpuidle works if i don't enable function tracer.
> my platform is dead as soon as I enable function tracer if cpuidle is
> enabled. It looks like some notrace are missing in my platform driver
> but we haven't completely fix the issue yet
> 

You can bisect to find out exactly what function is the problem:

 cat /debug/tracing/available_filter_functions > t
 
f(t) {
 num=`wc -l t`
 sed -ne "1,${num}p" t > t1
 let num=num+1
 sed -ne "${num},$p" t > t2

 cat t1 > /debug/tracing/set_ftrace_filter
 # note this may take a long time to finish

 echo function > /debug/tracing/current_tracer

 <failed? bisect f(t1), if not bisect f(t2)>
}

^ permalink raw reply

* Re: [PATCH v3 net-next 1/1] drivers: net: davinci_cpdma: acknowledge interrupt properly
From: David Miller @ 2013-02-18 19:52 UTC (permalink / raw)
  To: mugunthanvnm; +Cc: netdev, linux-arm-kernel, linux-omap
In-Reply-To: <1361175560-600-1-git-send-email-mugunthanvnm@ti.com>

From: Mugunthan V N <mugunthanvnm@ti.com>
Date: Mon, 18 Feb 2013 13:49:20 +0530

> CPDMA interrupts are not properly acknowledged which leads to interrupt
> storm, only cpdma interrupt 0 is acknowledged in Davinci CPDMA driver.
> Changed cpdma_ctlr_eoi api to acknowledge 1 and 2 interrupts which are
> used for rx and tx respectively.
> 
> Reported-by: Pantelis Antoniou <panto@antoniou-consulting.com>
> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>

Applied, thanks.

^ permalink raw reply

* Re: [PATCH v3] net: fec: Do a sanity check on the gpio number
From: Fabio Estevam @ 2013-02-18 19:51 UTC (permalink / raw)
  To: David Miller; +Cc: s.hauer, shawn.guo, marex, netdev, fabio.estevam
In-Reply-To: <20130218.144754.591538350954943449.davem@davemloft.net>

On Mon, Feb 18, 2013 at 4:47 PM, David Miller <davem@davemloft.net> wrote:
> From: Fabio Estevam <festevam@gmail.com>
> Date: Sun, 17 Feb 2013 12:29:24 -0300
>
>> Since commit 372e722ea4d (gpiolib: use descriptors internally) the following
>> warning is seen on a mx28evk board:
>
> [davem@drr linux]$ git describe 372e722ea4d
> fatal: Not a valid object name 372e722ea4d
> [davem@drr linux]$
>
> That commit ID doesn't exist in any tree I have access to.

It exists in linux-next.

Anyway, even without this commit the gpio validation should be done.

> I'm not applying this.

Ok, would you apply it if I remove the mention to 372e722ea4d from the
commit log?

^ permalink raw reply

* [PATCH net-next v2 2/2] ip_gre: propogate target device GSO capability to the tunnel device
From: Dmitry Kravkov @ 2013-02-18 19:50 UTC (permalink / raw)
  To: davem, netdev; +Cc: Dmitry Kravkov
In-Reply-To: <1361217053-16984-1-git-send-email-dmitry@broadcom.com>


Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
---
Changes from v1: fixed email address


 net/ipv4/ip_gre.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index cdc31ac..31bc941 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -1103,8 +1103,14 @@ static int ipgre_tunnel_bind_dev(struct net_device *dev)
 	tunnel->hlen = addend;
 	/* TCP offload with GRE SEQ is not supported. */
 	if (!(tunnel->parms.o_flags & GRE_SEQ)) {
-		dev->features		|= NETIF_F_GSO_SOFTWARE;
-		dev->hw_features	|= NETIF_F_GSO_SOFTWARE;
+		/* device supports enc gso offload*/
+		if (tdev->hw_enc_features & NETIF_F_GRE_GSO) {
+			dev->features		|= NETIF_F_TSO;
+			dev->hw_features	|= NETIF_F_TSO;
+		} else {
+			dev->features		|= NETIF_F_GSO_SOFTWARE;
+			dev->hw_features	|= NETIF_F_GSO_SOFTWARE;
+		}
 	}
 
 	return mtu;
-- 
1.7.7.2

^ permalink raw reply related

* Re: PPPOE lockdep report  in dev_queue_xmit+0x8b8/0x900
From: Eric Dumazet @ 2013-02-18 19:50 UTC (permalink / raw)
  To: Yanko Kaneti, David Miller; +Cc: netdev
In-Reply-To: <1361209421.9147.12.camel@d2>

From: Eric Dumazet <edumazet@google.com>

On Mon, 2013-02-18 at 19:43 +0200, Yanko Kaneti wrote:
> Hello,
> 
> I've had the following lockdep report for the last couple of years of
> kernels. I don't think I've had a lockup during that time related to
> pppoe.
> 
> The pppoe entry in the MAINTAINERS file lists Michal Ostrowski <mostrows@earthlink.net>
> which unfortunately bounces.
> 

Thanks for the report.

Could you please test following patch ?

[PATCH] ppp: set qdisc_tx_busylock to avoid LOCKDEP splat

If a qdisc is installed on a ppp device, its possible to get
a lockdep splat under stress, because nested dev_queue_xmit() can
lock busylock a second time (on a different device, so its a false
positive)

Avoid this problem using a distinct lock_class_key for team
devices.

Reported-by: Yanko Kaneti <yaneti@declera.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
 drivers/net/ppp/ppp_generic.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
index 4fd754e..3db9131 100644
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -1058,7 +1058,15 @@ ppp_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats64)
 	return stats64;
 }
 
+static struct lock_class_key ppp_tx_busylock;
+static int ppp_dev_init(struct net_device *dev)
+{
+	dev->qdisc_tx_busylock = &ppp_tx_busylock;
+	return 0;
+}
+
 static const struct net_device_ops ppp_netdev_ops = {
+	.ndo_init	 = ppp_dev_init,
 	.ndo_start_xmit  = ppp_start_xmit,
 	.ndo_do_ioctl    = ppp_net_ioctl,
 	.ndo_get_stats64 = ppp_get_stats64,

^ permalink raw reply related

* Re: [PATCH] bonding: set sysfs device_type to 'bond'
From: David Miller @ 2013-02-18 19:49 UTC (permalink / raw)
  To: cardoe; +Cc: netdev, fubar, andy
In-Reply-To: <1361155127-4415-1-git-send-email-cardoe@cardoe.com>

From: Doug Goldstein <cardoe@cardoe.com>
Date: Sun, 17 Feb 2013 20:38:47 -0600

> @@ -4350,6 +4350,10 @@ static const struct net_device_ops bond_netdev_ops = {
>  	.ndo_add_slave		= bond_enslave,
>  	.ndo_del_slave		= bond_release,
>  	.ndo_fix_features	= bond_fix_features,
> +}; 
     ^^

There is trailing whitespace there, please get rid of it.

Thanks.

^ permalink raw reply

* Re: [PATCH v3] net: fec: Do a sanity check on the gpio number
From: David Miller @ 2013-02-18 19:47 UTC (permalink / raw)
  To: festevam; +Cc: s.hauer, shawn.guo, marex, netdev, fabio.estevam
In-Reply-To: <1361114964-10517-1-git-send-email-festevam@gmail.com>

From: Fabio Estevam <festevam@gmail.com>
Date: Sun, 17 Feb 2013 12:29:24 -0300

> Since commit 372e722ea4d (gpiolib: use descriptors internally) the following 
> warning is seen on a mx28evk board:

[davem@drr linux]$ git describe 372e722ea4d
fatal: Not a valid object name 372e722ea4d
[davem@drr linux]$ 

That commit ID doesn't exist in any tree I have access to.

I'm not applying this.

^ permalink raw reply

* Re: SYSFS "errors"
From: Mauro Carvalho Chehab @ 2013-02-18 19:46 UTC (permalink / raw)
  To: balbi
  Cc: Greg KH, Linux Kernel Mailing List, Steven Rostedt,
	Frederic Weisbecker, Ingo Molnar, JBottomley, linux-scsi, davem,
	netdev, Doug Thompson, linux-edac, rjw, linux-pm
In-Reply-To: <20130218184633.GC10755@arwen.pp.htv.fi>

Em Mon, 18 Feb 2013 20:46:33 +0200
Felipe Balbi <balbi@ti.com> escreveu:

> Hi, On Mon, Feb 18, 2013 at 09:49:16AM -0800, Greg KH wrote:
> > > Input/output error - /sys/devices/cpu/power/autosuspend_delay_ms
> > 
> > The issue with this file is, if the power.use_autosuspend flag is not
> > set for the device, then it can't be read or written to.  This flag
> > changes dynamically with the system state
> > (__pm_runtime_use_autosuspend() can change it), so we can't just not
> > show the file if the flag is not set properly, sorry.
> > 
> > So the "error" is correct here, as is the 0644 file value.
> 
> hmm... we could create the file at pm_runtime_enable() time and remove
> it on pm_runtime_disable() time, no ? Addin Rafael to Cc

...


> > 
> > > No such device - /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
> > 
> > Odd, go ask the edac developers
> 
> will do ;-)

Well, the question is missing ;) /me assumes that you want to talk about
suspending/resume and EDAC, right?

In general, memory controllers don't supports suspend, as far as I can tell. 
Still, I've seen a few ones that support, but the current drivers and/or the
EDAC core currently doesn't offer any support to it, as such setup is done
by the BIOS, when it detects the used DIMM banks.

I suspect that, when the OS puts the machine on a suspend state, the BIOS may
also suspend also the memory controller or put it into a low power consumption
mode, but it does it without any help from the EDAC drivers.

For most of what's there at EDAC, I don't think it is worth to add any PM support
inside it. There are, however, two cases were we may need to add some support:

1) if user changed the SDRAM scrub rate before suspending, it makes sense to
restore it after resume, on the memory controller drivers that support such
feature (not all supports it);

2) hot-pluggable DIMMs. EDAC currently doesn't support. This could be needed
on some future. In this case, the core may need to re-scan the memory controller,
changing the memory properties. I've no idea if is there any real case needing
it, nor what event would trigger the memory-controller re-scan. Resume is likely
one of the candidates for it, on machines that support hot-pluggable memories.

Regards,
Mauro

^ permalink raw reply

* Re: [PATCH] ethernet: neterion: vxge: vxge-traffic.c: fix for a potential NULL pointer dereference
From: David Miller @ 2013-02-18 19:45 UTC (permalink / raw)
  To: gmate.amit; +Cc: jdmason, joe, netdev, linux-kernel, kernel-janitors
In-Reply-To: <1361037394-14731-1-git-send-email-gmate.amit@gmail.com>

From: Kumar Amit Mehta <gmate.amit@gmail.com>
Date: Sat, 16 Feb 2013 09:56:34 -0800

> fix for a potential NULL pointer dereference and removal of a redundant
> assignment operation. Found using smatch.
> 
> Signed-off-by: Kumar Amit Mehta <gmate.amit@gmail.com>

Obviously whoever wrote this code intended for ALARM_CLEARED
and EVENT_UNKNOWN events to not be logged.

But you're changing that.

I'm not applying this patch, sorry.

^ permalink raw reply

* KINDLY OPEN THE ATTACHMENT FOR MORE DETAILS (883/3/23/22 GOOD)
From: Kurlick Thomas @ 2013-02-18 19:35 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 0 bytes --]



[-- Attachment #2: open attachment for more details Thomas Kurlick.pdf --]
[-- Type: application/pdf, Size: 95029 bytes --]

^ permalink raw reply

* Re: [PATCH v4 1/1 net-next] net: fec: add napi support to improve proformance
From: Fabio Estevam @ 2013-02-18 19:09 UTC (permalink / raw)
  To: Frank Li
  Cc: lznuaa, shawn.guo, B38611, davem, linux-arm-kernel, netdev,
	s.hauer, Marek Vašut
In-Reply-To: <1359433903-15605-1-git-send-email-Frank.Li@freescale.com>

Frank,

On Tue, Jan 29, 2013 at 2:31 AM, Frank Li <Frank.Li@freescale.com> wrote:
> Add napi support
>
> Before this patch
>
>  iperf -s -i 1
>  ------------------------------------------------------------
>  Server listening on TCP port 5001
>  TCP window size: 85.3 KByte (default)
>  ------------------------------------------------------------
>  [  4] local 10.192.242.153 port 5001 connected with 10.192.242.138 port 50004
>  [ ID] Interval       Transfer     Bandwidth
>  [  4]  0.0- 1.0 sec  41.2 MBytes   345 Mbits/sec
>  [  4]  1.0- 2.0 sec  43.7 MBytes   367 Mbits/sec
>  [  4]  2.0- 3.0 sec  42.8 MBytes   359 Mbits/sec
>  [  4]  3.0- 4.0 sec  43.7 MBytes   367 Mbits/sec
>  [  4]  4.0- 5.0 sec  42.7 MBytes   359 Mbits/sec
>  [  4]  5.0- 6.0 sec  43.8 MBytes   367 Mbits/sec
>  [  4]  6.0- 7.0 sec  43.0 MBytes   361 Mbits/sec
>
> After this patch
>  [  4]  2.0- 3.0 sec  51.6 MBytes   433 Mbits/sec
>  [  4]  3.0- 4.0 sec  51.8 MBytes   435 Mbits/sec
>  [  4]  4.0- 5.0 sec  52.2 MBytes   438 Mbits/sec
>  [  4]  5.0- 6.0 sec  52.1 MBytes   437 Mbits/sec
>  [  4]  6.0- 7.0 sec  52.1 MBytes   437 Mbits/sec
>  [  4]  7.0- 8.0 sec  52.3 MBytes   439 Mbits/sec
>
> Signed-off-by: Frank Li <Frank.Li@freescale.com>
> Signed-off-by: Fugang Duan <B38611@freescale.com>

This patch causes the following crash on a mx53qsb board:

53fbc000.serial: ttymxc0 at MMIO 0x53fbc000 (irq = 47) is a IMX
console [ttymxc0] enabled
brd: module loaded
loop: module loaded
Unable to handle kernel NULL pointer dereference at virtual address 00000002
pgd = 80004000
[00000002] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in:
CPU: 0    Not tainted  (3.8.0-rc7-next-20130218+ #1192)
PC is at fec_enet_interrupt+0xd0/0x354
LR is at fec_enet_interrupt+0xb8/0x354
pc : [<8034592c>]    lr : [<80345914>]    psr: 60000193
sp : df855c20  ip : df855c20  fp : df855c74
r10: 00000516  r9 : 1e000000  r8 : 00000000
r7 : 00000000  r6 : 00000000  r5 : 00000001  r4 : df93f800
r3 : df93fdf4  r2 : 00000000  r1 : 00000000  r0 : df93fd34
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: 70004019  DAC: 00000017
Process swapper/0 (pid: 1, stack limit = 0xdf854238)
Stack: (0xdf855c20 to 0xdf856000)
5c20: 800a3f24 80255140 dfa4d740 df93fd8c df93fdf4 df93fd84 df855c8c df855c48
5c40: 800a53f4 800a3eb4 807503c8 dfa4d580 00000001 00000000 00000000 00000067
5c60: 80709611 df808e40 df855cac df855c78 8006f3e4 80345868 dfa4d700 20000008
5c80: df855cc4 df808e40 00000001 df854000 00000067 00000000 8075ab7c 00000002
5ca0: df855cc4 df855cb0 8006f57c 8006f39c df808e40 00000001 df855cdc df855cc8
5cc0: 80072068 8006f538 00000067 806bdba8 df855cf4 df855ce0 8006ed50 80071fc4
5ce0: 00000170 806c8ba0 df855d1c df855cf8 8000ee74 8006ed34 00000010 00000000
5d00: 8070a0f8 00000040 00000001 df855d48 df855d44 df855d20 80008548 8000ee2c
5d20: 80420794 60000113 ffffffff df855d7c dfa4d4c0 e0898080 df855df4 df855d48
5d40: 8000e100 800084dc df93f800 df93fd84 80345300 00000040 df93f800 df89f800
5d60: 00000000 df89f810 dfa4d4c0 8075ab7c e0898080 df855df4 00000000 df855d90
5d80: 80346390 80420794 60000113 ffffffff 00000000 df93f800 df855dc4 00000000
5da0: 00000000 8026b6ec 00000000 00000000 00000000 df93fc40 00000000 04000000
5dc0: b5e2019f 00000001 df855de4 807589c0 806fa000 df89f810 00000000 806fa000
5de0: 8067420c 807096c0 df855e04 df855df8 802b7c6c 80345f1c df855e2c df855e08
5e00: 802b68b4 802b7c58 00000000 df89f810 806fa000 df89f844 00000000 000000a1
5e20: df855e4c df855e30 802b6a58 802b67c8 802b69c4 806fa000 802b69c4 00000000
5e40: df855e74 df855e50 802b4fe4 802b69d0 df834158 df897834 df83416c 806fa000
5e60: 806ef7b0 dfa42c80 df855e84 df855e78 802b63d4 802b4f94 df855eb4 df855e88
5e80: 802b5f6c 802b63c0 80626878 00000000 df855eb4 806fa000 00000006 00000000
5ea0: 807096c0 000000a1 df855edc df855eb8 802b6f80 802b5e98 df854000 00000006
5ec0: 00000000 807096c0 000000a1 807096c0 df855eec df855ee0 802b7e90 802b6f0c
5ee0: df855efc df855ef0 8069b7e8 802b7e50 df855f54 df855f00 80008710 8069b7e0
5f00: df855f54 df855f10 8069b7d4 00000000 00000000 00000006 00000006 80671a4c
5f20: 00000000 8062be70 df855f54 806b00e8 00000006 806b00c8 807096c0 000000a1
5f40: 8067420c 806bbdcc df855f94 df855f58 80674978 800086dc 00000006 00000006
5f60: 8067420c 77b9bbee ffe4a7fa 00000000 804f0aec 00000000 00000000 00000000
5f80: 00000000 00000000 df855fac df855f98 804f0afc 80674880 ffffffff 00000000
5fa0: 00000000 df855fb0 8000e618 804f0af8 00000000 00000000 00000000 00000000
5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 ebfdf63e 9fb47bf3
Backtrace:
[<8034585c>] (fec_enet_interrupt+0x0/0x354) from [<8006f3e4>]
(handle_irq_event_percpu+0x54/0x19c)
[<8006f390>] (handle_irq_event_percpu+0x0/0x19c) from [<8006f57c>]
(handle_irq_event+0x50/0x70)
[<8006f52c>] (handle_irq_event+0x0/0x70) from [<80072068>]
(handle_level_irq+0xb0/0x124)
 r5:00000001 r4:df808e40
[<80071fb8>] (handle_level_irq+0x0/0x124) from [<8006ed50>]
(generic_handle_irq+0x28/0x38)
 r5:806bdba8 r4:00000067
[<8006ed28>] (generic_handle_irq+0x0/0x38) from [<8000ee74>]
(handle_IRQ+0x54/0xb4)
 r4:806c8ba0 r3:00000170
[<8000ee20>] (handle_IRQ+0x0/0xb4) from [<80008548>] (tzic_handle_irq+0x78/0xa8)
 r8:df855d48 r7:00000001 r6:00000040 r5:8070a0f8 r4:00000000
r3:00000010
[<800084d0>] (tzic_handle_irq+0x0/0xa8) from [<8000e100>] (__irq_svc+0x40/0x54)
Exception stack(0xdf855d48 to 0xdf855d90)
5d40:                   df93f800 df93fd84 80345300 00000040 df93f800 df89f800
5d60: 00000000 df89f810 dfa4d4c0 8075ab7c e0898080 df855df4 00000000 df855d90
5d80: 80346390 80420794 60000113 ffffffff
[<80345f10>] (fec_probe+0x0/0xa34) from [<802b7c6c>]
(platform_drv_probe+0x20/0x24)
[<802b7c4c>] (platform_drv_probe+0x0/0x24) from [<802b68b4>]
(driver_probe_device+0xf8/0x208)
[<802b67bc>] (driver_probe_device+0x0/0x208) from [<802b6a58>]
(__driver_attach+0x94/0x98)
 r8:000000a1 r7:00000000 r6:df89f844 r5:806fa000 r4:df89f810
r3:00000000
[<802b69c4>] (__driver_attach+0x0/0x98) from [<802b4fe4>]
(bus_for_each_dev+0x5c/0x90)
 r6:00000000 r5:802b69c4 r4:806fa000 r3:802b69c4
[<802b4f88>] (bus_for_each_dev+0x0/0x90) from [<802b63d4>]
(driver_attach+0x20/0x28)
 r6:dfa42c80 r5:806ef7b0 r4:806fa000
[<802b63b4>] (driver_attach+0x0/0x28) from [<802b5f6c>]
(bus_add_driver+0xe0/0x234)
[<802b5e8c>] (bus_add_driver+0x0/0x234) from [<802b6f80>]
(driver_register+0x80/0x14c)
 r8:000000a1 r7:807096c0 r6:00000000 r5:00000006 r4:806fa000
[<802b6f00>] (driver_register+0x0/0x14c) from [<802b7e90>]
(platform_driver_register+0x4c/0x60)
[<802b7e44>] (platform_driver_register+0x0/0x60) from [<8069b7e8>]
(fec_driver_init+0x14/0x1c)
[<8069b7d4>] (fec_driver_init+0x0/0x1c) from [<80008710>]
(do_one_initcall+0x40/0x184)
[<800086d0>] (do_one_initcall+0x0/0x184) from [<80674978>]
(kernel_init_freeable+0x104/0x1d0)
[<80674874>] (kernel_init_freeable+0x0/0x1d0) from [<804f0afc>]
(kernel_init+0x10/0xec)
[<804f0aec>] (kernel_init+0x0/0xec) from [<8000e618>] (ret_from_fork+0x14/0x3c)
 r4:00000000 r3:ffffffff
Code: e2843e5f e3a08000 e2833004 e50b3044 (e1d650b2)
---[ end trace c87bb11a6f3f1b7c ]---
Kernel panic - not syncing: Fatal exception in interrupt

^ permalink raw reply

* [PATCH] net: fec: Fix the disabling of RX interrupt
From: Fabio Estevam @ 2013-02-18 19:07 UTC (permalink / raw)
  To: davem; +Cc: Frank.Li, shawn.guo, marex, s.hauer, netdev, Fabio Estevam

The correct way to disable FEC RX interrupt is to clean only the FEC_ENET_RXF 
bit.

Since commit dc975382d2e (net: fec: add napi support to improve proformance) 
FEC_RX_DISABLED_IMASK is being written to the FEC_IMASK register, which also 
incorrectly sets other bits.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 drivers/net/ethernet/freescale/fec.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c
index 0fe68c4..f4f8495 100644
--- a/drivers/net/ethernet/freescale/fec.c
+++ b/drivers/net/ethernet/freescale/fec.c
@@ -811,6 +811,7 @@ fec_enet_interrupt(int irq, void *dev_id)
 	struct fec_enet_private *fep = netdev_priv(ndev);
 	uint int_events;
 	irqreturn_t ret = IRQ_NONE;
+	int reg;
 
 	do {
 		int_events = readl(fep->hwp + FEC_IEVENT);
@@ -821,8 +822,9 @@ fec_enet_interrupt(int irq, void *dev_id)
 
 			/* Disable the RX interrupt */
 			if (napi_schedule_prep(&fep->napi)) {
-				writel(FEC_RX_DISABLED_IMASK,
-					fep->hwp + FEC_IMASK);
+				reg = readl(fep->hwp + FEC_IMASK);
+				reg &= ~FEC_ENET_RXF;
+				writel(reg, fep->hwp + FEC_IMASK);
 				__napi_schedule(&fep->napi);
 			}
 		}
-- 
1.7.9.5

^ permalink raw reply related

* Re: [PATCH v6 08/46] CPU hotplug: Provide APIs to prevent CPU offline from atomic context
From: Srivatsa S. Bhat @ 2013-02-18 18:50 UTC (permalink / raw)
  To: Michel Lespinasse
  Cc: tglx, peterz, tj, oleg, paulmck, rusty, mingo, akpm, namhyung,
	rostedt, wangyun, xiaoguangrong, rjw, sbw, fweisbec, linux,
	nikunj, linux-pm, linux-arch, linux-arm-kernel, linuxppc-dev,
	netdev, linux-doc, linux-kernel, vincent.guittot
In-Reply-To: <CANN689FJPLfz06MFRJ9T+BuToejAzjYP_yrw_H4iGi1Kb3p2-g@mail.gmail.com>

On 02/18/2013 10:51 PM, Michel Lespinasse wrote:
> On Tue, Feb 19, 2013 at 12:43 AM, Srivatsa S. Bhat
> <srivatsa.bhat@linux.vnet.ibm.com> wrote:
>> On 02/18/2013 09:53 PM, Michel Lespinasse wrote:
>>> I am wondering though, if you could take care of recursive uses in
>>> get/put_online_cpus_atomic() instead of doing it as a property of your
>>> rwlock:
>>>
>>> get_online_cpus_atomic()
>>> {
>>>     unsigned long flags;
>>>     local_irq_save(flags);
>>>     if (this_cpu_inc_return(hotplug_recusion_count) == 1)
>>>         percpu_read_lock_irqsafe(&hotplug_pcpu_rwlock);
>>>     local_irq_restore(flags);
>>> }
>>>
>>> Once again, the idea there is to avoid baking the reader side
>>> recursive properties into your rwlock itself, so that it won't be
>>> impossible to implement reader/writer fairness into your rwlock in the
>>> future (which may be not be very important for the hotplug use, but
>>> could be when other uses get introduced).
>>
>> Hmm, your proposal above looks good to me, at first glance.
>> (Sorry, I had mistaken your earlier mails to mean that you were against
>> recursive reader-side, while you actually meant that you didn't like
>> implementing the recursive reader-side logic using the recursive property
>> of rwlocks).
> 
> To be honest, I was replying as I went through the series, so I hadn't
> digested your hotplug use case yet :)
> 
> But yes - I don't like having the rwlock itself be recursive, but I do
> understand that you have a legitimate requirement for
> get_online_cpus_atomic() to be recursive. This IMO points to the
> direction I suggested, of explicitly handling the recusion in
> get_online_cpus_atomic() so that the underlying rwlock doesn't have to
> support recursive reader side itself.
> 
> (And this would work for the idea of making writers own the reader
> side as well - you can do it with the hotplug_recursion_count instead
> of with the underlying rwlock).
> 
>> While your idea above looks good, it might introduce more complexity
>> in the unlock path, since this would allow nesting of heterogeneous readers
>> (ie., if hotplug_recursion_count == 1, you don't know whether you need to
>> simply decrement the counter or unlock the rwlock as well).
> 
> Well, I think the idea doesn't make the underlying rwlock more
> complex, since you could in principle keep your existing
> percpu_read_lock_irqsafe implementation as is and just remove the
> recursive behavior from its documentation.
> 
> Now ideally if we're adding a bit of complexity in
> get_online_cpus_atomic() it'd be nice if we could remove some from
> percpu_read_lock_irqsafe, but I haven't thought about that deeply
> either. I think you'd still want to have the equivalent of a percpu
> reader_refcnt, except it could now be a bool instead of an int, and
> percpu_read_lock_irqsafe would still set it to back to 0/false after
> acquiring the global read side if a writer is signaled. Basically your
> existing percpu_read_lock_irqsafe code should still work, and we could
> remove just the parts that were only there to deal with the recursive
> property.
> 

But, the whole intention behind removing the parts depending on the
recursive property of rwlocks would be to make it easier to make rwlocks
fair (going forward) right? Then, that won't work for CPU hotplug, because,
just like we have a legitimate reason to have recursive
get_online_cpus_atomic(), we also have a legitimate reason to have
unfairness in locking (i.e., for deadlock-safety). So we simply can't
afford to make the locking fair - we'll end up in too many deadlock
possibilities, as hinted in the changelog of patch 1.

(Remember, we are replacing preempt_disable(), which had absolutely no
special nesting rules or locking implications. That is why we are forced
to provide maximum locking flexibility and safety against new/previously
non-existent deadlocks, in the new synchronization scheme).

So the only long-term solution I can think of is to decouple
percpu-rwlocks and rwlock_t (like what Tejun suggested) by implementing
our own unfair locking scheme inside. What do you think?

Regards,
Srivatsa S. Bhat


^ permalink raw reply

* Re: SYSFS "errors"
From: Felipe Balbi @ 2013-02-18 18:46 UTC (permalink / raw)
  To: Greg KH
  Cc: Felipe Balbi, Linux Kernel Mailing List, Steven Rostedt,
	Frederic Weisbecker, Ingo Molnar, JBottomley, linux-scsi, davem,
	netdev, Doug Thompson, linux-edac, rjw, linux-pm
In-Reply-To: <20130218174916.GA2070@kroah.com>

[-- Attachment #1: Type: text/plain, Size: 3705 bytes --]

Hi, On Mon, Feb 18, 2013 at 09:49:16AM -0800, Greg KH wrote:
> > Input/output error - /sys/devices/cpu/power/autosuspend_delay_ms
> 
> The issue with this file is, if the power.use_autosuspend flag is not
> set for the device, then it can't be read or written to.  This flag
> changes dynamically with the system state
> (__pm_runtime_use_autosuspend() can change it), so we can't just not
> show the file if the flag is not set properly, sorry.
> 
> So the "error" is correct here, as is the 0644 file value.

hmm... we could create the file at pm_runtime_enable() time and remove
it on pm_runtime_disable() time, no ? Addin Rafael to Cc

> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/pid
> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/end_lba
> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/enable
> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/act_mask
> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/start_lba
> > Invalid argument - /sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/scsi_host/host1/em_buffer
> > Invalid argument - /sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/sw_activity
> > Operation not supported - /sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/unload_heads
> 
> SCSI fun, go poke the SCSI developers about these files, I know nothing
> about them, nor do I really want to :)
> 
> > No such device - /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
> 
> Odd, go ask the edac developers

will do ;-)

> > Input/output error - /sys/devices/system/memory/soft_offline_page
> > Input/output error - /sys/devices/system/memory/hard_offline_page
> 
> These both should be mode 0400, not 0644, they have no 'show' attribute,
> that's a bug, care to make up a patch that I can take?  Or I can, let me
> know.

sure, will send in a bit.

> > Invalid argument - /sys/devices/virtual/net/lo/speed
> > Invalid argument - /sys/devices/virtual/net/lo/duplex
> 
> Ask the network developers, odds are, the loopback device doesn't really
> have a speed :)

right ;-)

> > No such device or address - /sys/devices/virtual/block/loop0/trace/pid
> > No such device or address - /sys/devices/virtual/block/loop0/trace/end_lba
> > No such device or address - /sys/devices/virtual/block/loop0/trace/enable
> > No such device or address - /sys/devices/virtual/block/loop0/trace/act_mask
> > No such device or address - /sys/devices/virtual/block/loop0/trace/start_lba
> 
> Hm, these show up for virtual block devices as well, maybe they aren't
> scsi specific, but rather block specific, go poke the block developers
> then.

yeah, I was looking into these a while ago. They're created by
blk_trace_init_sysfs() which is called by blk_register_queue() but I
wonder if we couldn't defer the creation of those so that:

sysfs_blk_trace_attr_show():

1639         bdev = bdget(part_devt(p));
1640         if (bdev == NULL)
1641                 goto out;
1642 
1643         q = blk_trace_get_queue(bdev);
1644         if (q == NULL)
1645                 goto out_bdput;

never fail (meaning they could be removed), adding some block folks to
the loop.

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* Re: pppoe server on interface
From: Nieścierowicz Adam @ 2013-02-18 18:16 UTC (permalink / raw)
  To: Netdev

I see the same problem with the dhcp-relay working at the interface 
eth4 takes questions from eth4.xxx

at what interface i will saw untagged traffic?

W dniu 18.02.2013 13:48, Nieścierowicz Adam napisał(a):

> Hello,
> 
> recently changed the kernel to 3.6.0, after changing the kernel pppoe 
> server began to see connections listed on the main interface instead of 
> the vlan.
> 
> On the switch connected to the router, each port has a separate VLAN. 
> before updating the system had no problem taking over pppoe server 
> session running on the main interface for vlan traffic.
> 
> eth4 card should not only support traffic untagged traffic?
> 
> Thanks

^ permalink raw reply

* Re: [PATCH v6 04/46] percpu_rwlock: Implement the core design of Per-CPU Reader-Writer Locks
From: Srivatsa S. Bhat @ 2013-02-18 18:14 UTC (permalink / raw)
  To: Michel Lespinasse
  Cc: linux-doc, peterz, fweisbec, linux-kernel, namhyung, mingo,
	linux-arch, linux, xiaoguangrong, wangyun, paulmck, nikunj,
	linux-pm, rusty, rostedt, rjw, vincent.guittot, tglx,
	linux-arm-kernel, netdev, oleg, sbw, tj, akpm, linuxppc-dev
In-Reply-To: <CANN689FSxOz+0Cu7EG_yKD8ZE1OpT4kyT+ybLfXSqaifodJRpw@mail.gmail.com>

On 02/18/2013 11:37 PM, Michel Lespinasse wrote:
> On Tue, Feb 19, 2013 at 1:56 AM, Srivatsa S. Bhat
> <srivatsa.bhat@linux.vnet.ibm.com> wrote:
>> On 02/18/2013 09:51 PM, Srivatsa S. Bhat wrote:
>>> On 02/18/2013 09:15 PM, Michel Lespinasse wrote:
>>>> I don't see anything preventing a race with the corresponding code in
>>>> percpu_write_unlock() that sets writer_signal back to false. Did I
>>>> miss something here ? It seems to me we don't have any guarantee that
>>>> all writer signals will be set to true at the end of the loop...
>>>
>>> Ah, thanks for pointing that out! IIRC Oleg had pointed this issue in the last
>>> version, but back then, I hadn't fully understood what he meant. Your
>>> explanation made it clear. I'll work on fixing this.
>>
>> We can fix this by using the simple patch (untested) shown below.
>> The alternative would be to acquire the rwlock for write, update the
>> ->writer_signal values, release the lock, wait for readers to switch,
>> again acquire the rwlock for write with interrupts disabled etc... which
>> makes it kinda messy, IMHO. So I prefer the simple version shown below.
> 
> Looks good.
> 
> Another alternative would be to make writer_signal an atomic integer
> instead of a bool. That way writers can increment it before locking
> and decrement it while unlocking.
> 

Yep, that would also do. But the spinlock version looks simpler - no need
to check if the atomic counter is non-zero, no need to explicitly spin in
a tight-loop etc.

> To reduce the number of atomic ops during writer lock/unlock, the
> writer_signal could also be a global read_mostly variable (I don't see
> any downsides to that compared to having it percpu - or is it because
> you wanted all the fastpath state to be in one single cacheline ?)
> 

Yes, we (Oleg and I) debated for a while about global vs percpu, and then
finally decided to go with percpu to have cache benefits.

Regards,
Srivatsa S. Bhat


^ permalink raw reply

* Re: [patch] MAINTAINERS: Jiri Pirko email change
From: David Miller @ 2013-02-18 18:12 UTC (permalink / raw)
  To: jpirko; +Cc: netdev, greg
In-Reply-To: <20130216095505.GA1544@minipsycho.orion>

From: Jiri Pirko <jpirko@redhat.com>
Date: Sat, 16 Feb 2013 10:55:05 +0100

> Change email for team driver maintainership.
> 
> Signed-off-by: Jiri Pirko <jiri@resnulli.us>

Applied, thanks.

^ permalink raw reply

* Re: [PATCH v6 04/46] percpu_rwlock: Implement the core design of Per-CPU Reader-Writer Locks
From: Michel Lespinasse @ 2013-02-18 18:07 UTC (permalink / raw)
  To: Srivatsa S. Bhat
  Cc: linux-doc, peterz, fweisbec, linux-kernel, mingo, linux-arch,
	linux, xiaoguangrong, wangyun, paulmck, nikunj, linux-pm, rusty,
	rostedt, rjw, namhyung, tglx, linux-arm-kernel, netdev, oleg,
	vincent.guittot, sbw, tj, akpm, linuxppc-dev
In-Reply-To: <51226B46.9080707@linux.vnet.ibm.com>

On Tue, Feb 19, 2013 at 1:56 AM, Srivatsa S. Bhat
<srivatsa.bhat@linux.vnet.ibm.com> wrote:
> On 02/18/2013 09:51 PM, Srivatsa S. Bhat wrote:
>> On 02/18/2013 09:15 PM, Michel Lespinasse wrote:
>>> I don't see anything preventing a race with the corresponding code in
>>> percpu_write_unlock() that sets writer_signal back to false. Did I
>>> miss something here ? It seems to me we don't have any guarantee that
>>> all writer signals will be set to true at the end of the loop...
>>
>> Ah, thanks for pointing that out! IIRC Oleg had pointed this issue in the last
>> version, but back then, I hadn't fully understood what he meant. Your
>> explanation made it clear. I'll work on fixing this.
>
> We can fix this by using the simple patch (untested) shown below.
> The alternative would be to acquire the rwlock for write, update the
> ->writer_signal values, release the lock, wait for readers to switch,
> again acquire the rwlock for write with interrupts disabled etc... which
> makes it kinda messy, IMHO. So I prefer the simple version shown below.

Looks good.

Another alternative would be to make writer_signal an atomic integer
instead of a bool. That way writers can increment it before locking
and decrement it while unlocking.

To reduce the number of atomic ops during writer lock/unlock, the
writer_signal could also be a global read_mostly variable (I don't see
any downsides to that compared to having it percpu - or is it because
you wanted all the fastpath state to be in one single cacheline ?)

-- 
Michel "Walken" Lespinasse
A program is never fully debugged until the last user dies.

^ permalink raw reply

* [PATCH net 1/3] bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate()
From: Nikolay Aleksandrov @ 2013-02-18 17:59 UTC (permalink / raw)
  To: netdev; +Cc: davem, fubar, andy

port->slave can be NULL since it's being initialized in bond_enslave
thus dereferencing a NULL pointer in bond_3ad_update_lacp_rate()
Also fix a minor bug, which could cause a port not to have
AD_STATE_LACP_TIMEOUT since there's no sync between
bond_3ad_update_lacp_rate() and bond_3ad_bind_slave(), by changing
the read_lock to a write_lock_bh in bond_3ad_update_lacp_rate().

Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
---
 drivers/net/bonding/bond_3ad.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
index a030e63..1720742 100644
--- a/drivers/net/bonding/bond_3ad.c
+++ b/drivers/net/bonding/bond_3ad.c
@@ -2494,11 +2494,13 @@ void bond_3ad_update_lacp_rate(struct bonding *bond)
 	struct port *port = NULL;
 	int lacp_fast;
 
-	read_lock(&bond->lock);
+	write_lock_bh(&bond->lock);
 	lacp_fast = bond->params.lacp_fast;
 
 	bond_for_each_slave(bond, slave, i) {
 		port = &(SLAVE_AD_INFO(slave).port);
+		if (port->slave == NULL)
+			continue;
 		__get_state_machine_lock(port);
 		if (lacp_fast)
 			port->actor_oper_port_state |= AD_STATE_LACP_TIMEOUT;
@@ -2507,5 +2509,5 @@ void bond_3ad_update_lacp_rate(struct bonding *bond)
 		__release_state_machine_lock(port);
 	}
 
-	read_unlock(&bond->lock);
+	write_unlock_bh(&bond->lock);
 }
-- 
1.7.11.7

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox