1. 29 Jul, 2015 7 commits
  2. 27 Jul, 2015 1 commit
  3. 26 Jul, 2015 9 commits
    • Linus Torvalds's avatar
      Linux 4.2-rc4 · cbfe8fa6
      Linus Torvalds authored
      cbfe8fa6
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2579d019
      Linus Torvalds authored
      Pull perf fix from Thomas Gleixner:
       "A single fix for the intel cqm perf facility to prevent IPIs from
        interrupt context"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel/cqm: Return cached counter value from IRQ context
      2579d019
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 28003486
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "This update contains:
      
         - the manual revert of the SYSCALL32 changes which caused a
           regression
      
         - a fix for the MPX vma handling
      
         - three fixes for the ioremap 'is ram' checks.
      
         - PAT warning fixes
      
         - a trivial fix for the size calculation of TLB tracepoints
      
         - handle old EFI structures gracefully
      
        This also contains a PAT fix from Jan plus a revert thereof.  Toshi
        explained why the code is correct"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/pat: Revert 'Adjust default caching mode translation tables'
        x86/asm/entry/32: Revert 'Do not use R9 in SYSCALL32' commit
        x86/mm: Fix newly introduced printk format warnings
        mm: Fix bugs in region_is_ram()
        x86/mm: Remove region_is_ram() call from ioremap
        x86/mm: Move warning from __ioremap_check_ram() to the call site
        x86/mm/pat, drivers/media/ivtv: Move the PAT warning and replace WARN() with pr_warn()
        x86/mm/pat, drivers/infiniband/ipath: Replace WARN() with pr_warn()
        x86/mm/pat: Adjust default caching mode translation tables
        x86/fpu: Disable dependent CPU features on "noxsave"
        x86/mpx: Do not set ->vm_ops on MPX VMAs
        x86/mm: Add parenthesis for TLB tracepoint size calculation
        efi: Handle memory error structures produced based on old versions of standard
      28003486
    • Thomas Gleixner's avatar
      x86/mm/pat: Revert 'Adjust default caching mode translation tables' · 1a4e8795
      Thomas Gleixner authored
      Toshi explains:
      
      "No, the default values need to be set to the fallback types,
       i.e. minimal supported mode.  For WC and WT, UC is the fallback type.
      
       When PAT is disabled, pat_init() does update the tables below to
       enable WT per the default BIOS setup.  However, when PAT is enabled,
       but CPU has PAT -errata, WT falls back to UC per the default values."
      
      Revert: ca1fec58 'x86/mm/pat: Adjust default caching mode translation tables'
      Requested-by: default avatarToshi Kani <toshi.kani@hp.com>
      Cc: Jan Beulich <jbeulich@suse.de>
      Link: http://lkml.kernel.org/r/1437577776.3214.252.camel@hp.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      1a4e8795
    • Matt Fleming's avatar
      perf/x86/intel/cqm: Return cached counter value from IRQ context · 2c534c0d
      Matt Fleming authored
      Peter reported the following potential crash which I was able to
      reproduce with his test program,
      
      [  148.765788] ------------[ cut here ]------------
      [  148.765796] WARNING: CPU: 34 PID: 2840 at kernel/smp.c:417 smp_call_function_many+0xb6/0x260()
      [  148.765797] Modules linked in:
      [  148.765800] CPU: 34 PID: 2840 Comm: perf Not tainted 4.2.0-rc1+ #4
      [  148.765803]  ffffffff81cdc398 ffff88085f105950 ffffffff818bdfd5 0000000000000007
      [  148.765805]  0000000000000000 ffff88085f105990 ffffffff810e413a 0000000000000000
      [  148.765807]  ffffffff82301080 0000000000000022 ffffffff8107f640 ffffffff8107f640
      [  148.765809] Call Trace:
      [  148.765810]  <NMI>  [<ffffffff818bdfd5>] dump_stack+0x45/0x57
      [  148.765818]  [<ffffffff810e413a>] warn_slowpath_common+0x8a/0xc0
      [  148.765822]  [<ffffffff8107f640>] ? intel_cqm_stable+0x60/0x60
      [  148.765824]  [<ffffffff8107f640>] ? intel_cqm_stable+0x60/0x60
      [  148.765825]  [<ffffffff810e422a>] warn_slowpath_null+0x1a/0x20
      [  148.765827]  [<ffffffff811613f6>] smp_call_function_many+0xb6/0x260
      [  148.765829]  [<ffffffff8107f640>] ? intel_cqm_stable+0x60/0x60
      [  148.765831]  [<ffffffff81161748>] on_each_cpu_mask+0x28/0x60
      [  148.765832]  [<ffffffff8107f6ef>] intel_cqm_event_count+0x7f/0xe0
      [  148.765836]  [<ffffffff811cdd35>] perf_output_read+0x2a5/0x400
      [  148.765839]  [<ffffffff811d2e5a>] perf_output_sample+0x31a/0x590
      [  148.765840]  [<ffffffff811d333d>] ? perf_prepare_sample+0x26d/0x380
      [  148.765841]  [<ffffffff811d3497>] perf_event_output+0x47/0x60
      [  148.765843]  [<ffffffff811d36c5>] __perf_event_overflow+0x215/0x240
      [  148.765844]  [<ffffffff811d4124>] perf_event_overflow+0x14/0x20
      [  148.765847]  [<ffffffff8107e7f4>] intel_pmu_handle_irq+0x1d4/0x440
      [  148.765849]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765853]  [<ffffffff81219bad>] ? vunmap_page_range+0x19d/0x2f0
      [  148.765854]  [<ffffffff81219d11>] ? unmap_kernel_range_noflush+0x11/0x20
      [  148.765859]  [<ffffffff814ce6fe>] ? ghes_copy_tofrom_phys+0x11e/0x2a0
      [  148.765863]  [<ffffffff8109e5db>] ? native_apic_msr_write+0x2b/0x30
      [  148.765865]  [<ffffffff8109e44d>] ? x2apic_send_IPI_self+0x1d/0x20
      [  148.765869]  [<ffffffff81065135>] ? arch_irq_work_raise+0x35/0x40
      [  148.765872]  [<ffffffff811c8d86>] ? irq_work_queue+0x66/0x80
      [  148.765875]  [<ffffffff81075306>] perf_event_nmi_handler+0x26/0x40
      [  148.765877]  [<ffffffff81063ed9>] nmi_handle+0x79/0x100
      [  148.765879]  [<ffffffff81064422>] default_do_nmi+0x42/0x100
      [  148.765880]  [<ffffffff81064563>] do_nmi+0x83/0xb0
      [  148.765884]  [<ffffffff818c7c0f>] end_repeat_nmi+0x1e/0x2e
      [  148.765886]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765888]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765890]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765891]  <<EOE>>  [<ffffffff8110ab66>] finish_task_switch+0x156/0x210
      [  148.765898]  [<ffffffff818c1671>] __schedule+0x341/0x920
      [  148.765899]  [<ffffffff818c1c87>] schedule+0x37/0x80
      [  148.765903]  [<ffffffff810ae1af>] ? do_page_fault+0x2f/0x80
      [  148.765905]  [<ffffffff818c1f4a>] schedule_user+0x1a/0x50
      [  148.765907]  [<ffffffff818c666c>] retint_careful+0x14/0x32
      [  148.765908] ---[ end trace e33ff2be78e14901 ]---
      
      The CQM task events are not safe to be called from within interrupt
      context because they require performing an IPI to read the counter value
      on all sockets. And performing IPIs from within IRQ context is a
      "no-no".
      
      Make do with the last read counter value currently event in
      event->count when we're invoked in this context.
      Reported-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vikas Shivappa <vikas.shivappa@intel.com>
      Cc: Kanaka Juvva <kanaka.d.juvva@intel.com>
      Cc: Will Auld <will.auld@intel.com>
      Cc: <stable@vger.kernel.org>
      Link: http://lkml.kernel.org/r/1437490509-15373-1-git-send-email-matt@codeblueprint.co.ukSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      2c534c0d
    • Linus Torvalds's avatar
      Merge tag 'usb-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 26ae19a3
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here's a few USB and PHY fixes for 4.2-rc4.
      
        Nothing major, the shortlog has the full details.
      
        All of these have been in linux-next successfully"
      
      * tag 'usb-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (21 commits)
        USB: OHCI: fix bad #define in ohci-tmio.c
        cdc-acm: Destroy acm_minors IDR on module exit
        usb-storage: Add ignore-device quirk for gm12u320 based usb mini projectors
        usb-storage: ignore ZTE MF 823 card reader in mode 0x1225
        USB: OHCI: Fix race between ED unlink and URB submission
        usb: core: lpm: set lpm_capable for root hub device
        xhci: do not report PLC when link is in internal resume state
        xhci: prevent bus_suspend if SS port resuming in phase 1
        xhci: report U3 when link is in resume state
        xhci: Calculate old endpoints correctly on device reset
        usb: xhci: Bugfix for NULL pointer deference in xhci_endpoint_init() function
        xhci: Workaround to get D3 working in Intel xHCI
        xhci: call BIOS workaround to enable runtime suspend on Intel Braswell
        usb: dwc3: Reset the transfer resource index on SET_INTERFACE
        usb: gadget: udc: core: Fix argument of dma_map_single for IOMMU
        usb: gadget: mv_udc_core: fix phy_regs I/O memory leak
        usb: ulpi: ulpi_init should be executed in subsys_initcall
        phy: berlin-usb: fix divider for BG2
        phy: berlin-usb: fix divider for BG2CD
        phy/pxa: add HAS_IOMEM dependency
        ...
      26ae19a3
    • Linus Torvalds's avatar
      Merge tag 'tty-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 82b35f37
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are a number of small serial and tty fixes for reported issues.
      
        All have been in linux-next successfully"
      
      * tag 'tty-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: vt: Fix !TASK_RUNNING diagnostic warning from paste_selection()
        serial: core: Fix crashes while echoing when closing
        m32r: Add ioreadXX/iowriteXX big-endian mmio accessors
        Revert "serial: imx: initialized DMA w/o HW flow enabled"
        sc16is7xx: fix FIFO address of secondary UART
        sc16is7xx: fix Kconfig dependencies
        serial: etraxfs-uart: Fix release etraxfs_uart_ports
        tty/vt: Fix the memory leak in visual_init
        serial: amba-pl011: Fix devm_ioremap_resource return value check
        n_tty: signal and flush atomically
      82b35f37
    • Linus Torvalds's avatar
      Merge tag 'staging-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b0de415a
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are a number of iio and staging driver fixes for reported issues
        for 4.2-rc4.
      
        All have been in linux-next for a while with no problems"
      
      * tag 'staging-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (34 commits)
        iio:light:stk3310: make endianness independent of host
        iio:light:stk3310: move device register to end of probe
        iio: mma8452: use iio event type IIO_EV_TYPE_MAG
        iio: mcp320x: Fix NULL pointer dereference
        iio: adc: vf610: fix the adc register read fail issue
        iio: mlx96014: Replace offset sign
        iio: magnetometer: mmc35240: fix SET/RESET sequence
        iio: magnetometer: mmc35240: Fix SET/RESET mask
        iio: magnetometer: mmc35240: Fix crash in pm suspend
        iio:magnetometer:bmc150_magn: output intended variable
        iio:magnetometer:bmc150_magn: add regmap dependency
        staging: vt6656: check ieee80211_bss_conf bssid not NULL
        staging: vt6655: check ieee80211_bss_conf bssid not NULL
        iio: tmp006: Check channel info on write
        iio: sx9500: Add missing init in sx9500_buffer_pre{en,dis}able()
        iio:light:ltr501: fix regmap dependency
        iio:light:ltr501: fix variable in ltr501_init
        iio: sx9500: fix bug in compensation code
        iio: sx9500: rework error handling of raw readings
        iio: magnetometer: mmc35240: fix available sampling frequencies
        ...
      b0de415a
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e433b656
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some char and misc driver fixes for reported issues.
      
        One parport patch is reverted as it was incorrect, thanks to testing
        by the 0-day bot"
      
      * tag 'char-misc-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        parport: Revert "parport: fix memory leak"
        mei: prevent unloading mei hw modules while the device is opened.
        misc: mic: scif bug fix for vmalloc_to_page crash
        parport: fix freeing freed memory
        parport: fix memory leak
        parport: fix error handling
      e433b656
  4. 25 Jul, 2015 7 commits
  5. 24 Jul, 2015 16 commits
    • Linus Torvalds's avatar
      Merge branch 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 9fbf075c
      Linus Torvalds authored
      Pull libata fixes from Tejun Heo:
       "A couple important fixes.
      
         - A block layer change which removed restriction on max transfer size
           led to silent data corruption on some devices.  A new quirk is
           added to restore the old size limit for the reported device.  If it
           gets reported on more devices, we might have to consider restoring
           the restriction for ATA devices by default.
      
         - There finally is a SSD which is confirmed to cause data corruption
           on TRIM regardless of which flavor is used.  A new quirk is added
           and the device is blacklisted
      
         - Other device-specific workarounds"
      
      * 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        libata: Do not blacklist M510DC
        libata: increase the timeout when setting transfer mode
        libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit
        libata: force disable trim for SuperSSpeed S238
        libata: add ATA_HORKAGE_NOTRIM
        libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for HP 250GB SATA disk VB0250EAVER
        ata: pmp: add quirk for Marvell 4140 SATA PMP
      9fbf075c
    • Linus Torvalds's avatar
      Merge tag 'mmc-4.2-rc3' of git://git.linaro.org/people/ulf.hansson/mmc · 1e63dca7
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "Here are some mmc fixes intended for v4.2 rc4.
      
        Note, most of the changes are for the sdhci-esdhc-imx controller,
        which also required us to modify some related DTS files.  Those
        changes have been acked by the SoC maintainer.
      
        MMC core:
         - Fix a reference inbalance issue for power_ro_lock_show() sysfs handler
      
        MMC host:
         - omap_hsmmc: Fix IRQ errorhandling for CD, DTO, and CRC
         - sdhci: Prevent a kernel panic while using DMA
         - mtk-sd: Let it depend on HAS_DMA to prevent build errors
         - sdhci-esdhc: Make 8BIT bus work
         - sdhci-esdhc-imx: Fix some regressions for DT based platforms
         - sdhci-pxav3: Fix a regression for DT based platforms"
      
      * tag 'mmc-4.2-rc3' of git://git.linaro.org/people/ulf.hansson/mmc:
        mmc: sdhci-pxav3: fix platform_data is not initialized
        dts: mmc: fsl-imx-esdhc: remove fsl,cd-controller support
        mmc: sdhci-esdhc-imx: clear f_max in boarddata
        mmc: sdhci-esdhc-imx: remove duplicated dts parsing
        mmc: sdhci: make max-frequency property in device tree work
        mmc: sdhci-esdhc-imx: move all non dt probe code into one function
        mmc: sdhci-esdhc-imx: fix cd regression for dt platform
        dts: imx7: fix sd card gpio polarity specified in device tree
        dts: imx25: fix sd card gpio polarity specified in device tree
        dts: imx6: fix sd card gpio polarity specified in device tree
        dts: imx53: fix sd card gpio polarity specified in device tree
        dts: imx51: fix sd card gpio polarity specified in device tree
        mmc: sdhci-esdhc: Make 8BIT bus work
        mmc: block: Add missing mmc_blk_put() in power_ro_lock_show()
        mmc: MMC_MTK should depend on HAS_DMA
        mmc: sdhci check parameters before call dma_free_coherent
        mmc: omap_hsmmc: Handle BADA, DEB and CEB interrupts
        mmc: omap_hsmmc: Fix DTO and DCRC handling
      1e63dca7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · a52bd79e
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
       "A fix for the warnings/oops when handling HID devices with "unnamed"
        LEDs and couple of other driver fixups""
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: goodix - fix touch coordinates on WinBook TW100 and TW700
        Input: LEDs - skip unnamed LEDs
        Input: usbtouchscreen - avoid unresponsive TSC-30 touch screen
        Input: elantech - force resolution of 31 u/mm
        Input: zforce - don't overwrite the stack
      a52bd79e
    • Guenter Roeck's avatar
      staging: lustre: Replace strtoul with simple_strtoul · 4ad2adc9
      Guenter Roeck authored
      Defining and using strtoul in lustre code results in the following
      compile warnings (arm64:allmodconfig).
      
      include/linux/libcfs/libcfs_string.h:105:0: warning: "strtoul" redefined
      	#define strtoul(str, endp, base) simple_strtoul(str, endp, base)
      include/acpi/platform/aclinux.h:122:0: note:
      		this is the location of the previous definition
      	#define strtoul	simple_strtoul
      
      Remove the definition and use simple_strtoul() directly. Note that we
      can not replace simple_strtoul with kstrtoul since the end pointer
      is used by the code.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4ad2adc9
    • Christian Gromm's avatar
      Staging: most: add MOST driver's documentation · 59cc3399
      Christian Gromm authored
      This patch adds the documentation to the MOST driver that describes its ABI
      interface and the basic usage.
      Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      59cc3399
    • Christian Gromm's avatar
      Staging: most: add MOST driver's hdm-usb module · a4198cdf
      Christian Gromm authored
      This patch adds the hdm-usb module of the MOST driver to the kernel's
      driver staging area. This module is part of the MOST driver and handles
      the USB interface of the MOST network interface controller.
      
      This patch is needed in order to use the USB peripheral interface of the
      network interface controller.
      Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a4198cdf
    • Christian Gromm's avatar
      Staging: most: add MOST driver's hdm-i2c module · 91a450ad
      Christian Gromm authored
      This patch adds the hdm-i2c module of the MOST driver to the kernel's
      driver staging area. This module is part of the MOST driver and handles
      the I2C interface of the MOST network interface controller.
      
      This patch is needed in order to use the I2C peripheral interface of the
      network interface controller.
      Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      91a450ad
    • Christian Gromm's avatar
      Staging: most: add MOST driver's hdm-dim2 module · ba3d7ddf
      Christian Gromm authored
      This patch adds the hdm-dim2 module of the MOST driver to the kernel's
      driver staging area. This module is part of the MOST driver and handles
      the MediaLB interface of the MOST network interface controller.
      
      This patch is needed in order to use the MediaLB peripheral interface of
      the network interface controller.
      Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ba3d7ddf
    • Christian Gromm's avatar
      Staging: most: add MOST driver's aim-v4l2 module · 3d31c0cb
      Christian Gromm authored
      This patch adds the aim-v4l2 module of the MOST driver to the kernel's
      driver staging area. This module is part of the MOST driver and handles
      user space interaction by means of V4L2.
      
      This patch is needed in order to have access to MOST isochronous AVP data
      through V4L2 devices.
      Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3d31c0cb
    • Christian Gromm's avatar
      Staging: most: add MOST driver's aim-sound module · 54b4856f
      Christian Gromm authored
      This patch adds the aim-sound module of the MOST driver to the kernel's
      driver staging area. This module is part of the MOST driver and handles
      user space interaction by means of ALSA devices.
      
      This patch is needed in order to have access to MOST synchronous data
      through ALSA devices.
      Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      54b4856f
    • Christian Gromm's avatar
      Staging: most: add MOST driver's aim-network module · d4a8ce7f
      Christian Gromm authored
      This patch adds the aim-network module of the MOST driver to the kernel's
      driver staging area. This module is part of the MOST driver and handles
      user space interaction by means of network devices.
      
      This patch is needed in order to have access to MOST Ethernet Packets (MEP)
      through a networking device.
      Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d4a8ce7f
    • Christian Gromm's avatar
      Staging: most: add MOST driver's aim-cdev module · 9bc79bbc
      Christian Gromm authored
      This patch adds the aim-cdev module of the MOST driver to the kernel's
      driver staging area. This module is part of the MOST driver and handles
      user space interaction by means of character devices.
      
      This patch is needed in order to have access to MOST data through
      character devices.
      Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9bc79bbc
    • Christian Gromm's avatar
      Staging: most: add MOST driver's core module · 57562a72
      Christian Gromm authored
      This patch adds the core module of the MOST driver to the kernel's driver
      staging area. This module is part of the MOST driver and handles the
      configuration interface in sysfs, the buffer management and the data
      routing.
      
      MOST defines the protocol, hardware and software layers necessary to allow
      for the efficient and low-cost transport of control, real-time and packet
      data using a single medium (physical layer). Media currently in use are
      fiber optics, unshielded twisted pair cables (UTP) and coax cables. MOST
      also supports various speed grades up to 150 Mbps.
      For more information on MOST, visit the MOST Cooperation website:
      www.mostcooperation.com.
      
      Cars continue to evolve into sophisticated consumer electronics platforms,
      increasing the demand for reliable and simple solutions to support audio,
      video and data communications. MOST can be used to connect multiple
      consumer devices via optical or electrical physical layers directly to one
      another or in a network configuration. As a synchronous network, MOST
      provides excellent Quality of Service and seamless connectivity for
      audio/video streaming. Therefore, the driver perfectly fits to the mission
      of Automotive Grade Linux to create open source software solutions for
      automotive applications.
      
      The driver consists basically of three layers. The hardware layer, the
      core layer and the application layer. The core layer consists of the core
      module only. This module handles the communication flow through all three
      layers, the configuration of the driver, the configuration interface
      representation in sysfs, and the buffer management.
      For each of the other two layers a selection of modules is provided. These
      modules can arbitrarily be combined to meet the needs of the desired
      system architecture. A module of the hardware layer is referred to as an
      HDM (hardware dependent module). Each module of this layer handles exactly
      one of the peripheral interfaces of a network interface controller (e.g.
      USB, MediaLB, I2C). A module of the application layer is referred to as an
      AIM (application interfacing module). The modules of this layer give access
      to MOST via one the following ways: character devices, ALSA, Networking or
      V4L2.
      
      To physically access MOST, an Intelligent Network Interface Controller
      (INIC) is needed. For more information on available controllers visit:
      www.microchip.com
      Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      57562a72
    • Tim Sell's avatar
      staging: unisys: visornic - prevent NETDEV WATCHDOG timeouts after IO recovery · db849927
      Tim Sell authored
      After IO partition recovery, it was possible to get into a situation where
      a visornic device would repeatedly report:
      
          NETDEV WATCHDOG: eth0 (): transmit queue 0 timed out
      
      The actual problem would affect any visornic device that was rapidly
      transmitting at the same time the IO partition was being recovered. Once
      you hit the problem, the only way to resume use of the nic would be to
      reboot the Linux client partition.
      
      The problem was caused by chstat.sent_xmit and chstat.got_xmit_done NOT
      getting cleared during IO partition recovery. This is necessary because
      outstanding xmits would essentially be "abandoned" during such recovery.
      These fields are now cleared in virtnic_serverdown_complete().
      Signed-off-by: default avatarTim Sell <Timothy.Sell@unisys.com>
      Signed-off-by: default avatarBenjamin Romer <benjamin.romer@unisys.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      db849927
    • Tim Sell's avatar
      staging: unisys: visornic - check visorchannel_signalinsert/remove failures · 81d275c6
      Tim Sell authored
      Logic to check for failures of visorchannel_signalinsert() and
      visorchannel_signalremove() were added, and a new sent_post_failed counter
      tracks the number of times we failed to post a rcv buffer to the IO
      partition.
      Signed-off-by: default avatarTim Sell <Timothy.Sell@unisys.com>
      Signed-off-by: default avatarBenjamin Romer <benjamin.romer@unisys.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      81d275c6
    • Tim Sell's avatar
      staging: unisys: visornic - ensure proper net locking in tx reset logic · 4d79002e
      Tim Sell authored
      visornic tx reset handling is done asynchronously via a workqueue in
      visornic_timeout_reset().  As a result, it needs to use rtnl_lock() /
      rtnl_unlock() to lock against possible simultaneous close() of the network
      device.
      
      (I consulted the bnx2 driver as a model here, as that driver also does
      its tx reset handling asynchronously, just like visornic does.  See
      bnx2_tx_timeout() and bnx2_reset_task().)
      Signed-off-by: default avatarTim Sell <Timothy.Sell@unisys.com>
      Signed-off-by: default avatarBenjamin Romer <benjamin.romer@unisys.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4d79002e