aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2011-12-20ipmi_watchdog: restore settings when BMC resetCorey Minyard1-3/+38
If the BMC gets reset, it will return 0x80 response errors. In less than a week # grep "Error 80 on cmd 22" /var/log/kernel |wc -l 378681 In this case, it is probably a good idea to restore the IPMI settings. Signed-off-by: Corey Minyard <[email protected]> Tested-by: Arkadiusz Miśkiewicz <[email protected]> Reported-by: Arkadiusz Miśkiewicz <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-12-19Merge branch 'for-linus' of ↵Linus Torvalds3-4/+12
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/qib: Correct sense on freectxts increment and decrement RDMA/cma: Verify private data length IB/mlx4: Fix shutdown crash accessing a non-existent bitmap
2011-12-19Merge branch 'for-linus' of ↵Linus Torvalds3-2/+17
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: synaptics - fix touchpad not working after S2R on Vostro V13 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq() Input: wacom - add product id used by Samsung Slate 7
2011-12-19Merge branches 'cma', 'mlx4' and 'qib' into for-nextRoland Dreier2-4/+6
2011-12-19IB/qib: Correct sense on freectxts increment and decrementMike Marciniszyn1-2/+2
Commit 53ab1c64983 ("IB/qib: Correct nfreectxts for multiple HCAs") reversed the increments and decrements of dd->nfreectxts. Fix it. Reviewed-by: Ram Vepa <[email protected]> Signed-off-by: Mike Marciniszyn <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2011-12-19RDMA/cma: Verify private data lengthSean Hefty1-0/+6
private_data_len is defined as a u8. If the user specifies a large private_data size (> 220 bytes), we will calculate a total length that exceeds 255, resulting in private_data_len wrapping back to 0. This can lead to overwriting random kernel memory. Avoid this by verifying that the resulting size fits into a u8. Reported-by: B. Thery <[email protected]> Addresses: <http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2335> Signed-off-by: Sean Hefty <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2011-12-18Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6Linus Torvalds23-213/+1551
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (22 commits) [SCSI] fcoe: fix fcoe in a DCB environment by adding DCB notifiers to set skb priority [SCSI] bnx2i: Fixed kernel panic caused by unprotected task->sc->request deref [SCSI] qla4xxx: check for failed conn setup [SCSI] qla4xxx: a small loop fix [SCSI] qla4xxx: fix flash/ddb support [SCSI] zfcp: return early from slave_destroy if slave_alloc returned early [SCSI] fcoe: Fix preempt count leak in fcoe_filter_frames() [SCSI] qla2xxx: Update version number to 8.03.07.12-k. [SCSI] qla2xxx: Submit all chained IOCBs for passthrough commands on request queue 0. [SCSI] qla2xxx: Correct fc_host port_state display. [SCSI] qla2xxx: Disable generating pause frames when firmware hang detected for ISP82xx. [SCSI] qla2xxx: Clear mailbox busy flag during premature mailbox completion for ISP82xx. [SCSI] qla2xxx: Encapsulate prematurely completing mailbox commands during ISP82xx firmware hang. [SCSI] qla2xxx: Display IPE error message for ISP82xx. [SCSI] qla2xxx: Return the correct value for a mailbox command if 82xx is in reset recovery. [SCSI] qla2xxx: Enable Minidump by default with default capture mask 0x1f. [SCSI] qla2xxx: Stop unconditional completion of mailbox commands issued in interrupt mode during firmware hang. [SCSI] qla2xxx: Revert back the request queue mapping to request queue 0. [SCSI] qla2xxx: Don't call alloc_fw_dump for ISP82XX. [SCSI] qla2xxx: Check for SCSI status on underruns. ...
2011-12-18Merge branch 'for-linus/i2c-32-rc6' of git://git.fluff.org/bjdooks/linuxLinus Torvalds3-16/+20
* 'for-linus/i2c-32-rc6' of git://git.fluff.org/bjdooks/linux: i2c-eg20t: correct the driver init order of pch_i2c_probe() I2C: OMAP: fix FIFO usage for OMAP4 i2c-s3c2410: Fix return code of s3c24xx_i2c_parse_dt_gpio i2c: i2c-s3c2410: Add a cpu_relax() to busy wait for bus idle
2011-12-18pci: Fix hotplug of Express Module with pci bridgesYinghai Lu1-1/+5
I noticed that hotplug of one setup does not work with recent change in pci tree. After checking the bridge conf setup, I noticed that the bridges get assigned but do not get enabled. The reason is the following commit, while simply ignores bridge resources when enabling a pci device: | commit bbef98ab0f019f1b0c25c1acdf1683c68933d41b | Author: Ram Pai <[email protected]> | Date: Sun Nov 6 10:33:10 2011 +0800 | | PCI: defer enablement of SRIOV BARS |... | NOTE: Note, there is subtle change in the pci_enable_device() API. Any | driver that depends on SRIOV BARS to be enabled in pci_enable_device() | can fail. Put back bridge resource and ROM resource checking to fix the problem. That should fix regression like BIOS does not assign correct resource to bridge. Discussion can be found at: http://www.spinics.net/lists/linux-pci/msg12874.html Signed-off-by: Yinghai Lu <[email protected]> Acked-by: Jesse Barnes <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-12-18i2c-eg20t: correct the driver init order of pch_i2c_probe()Feng Tang1-10/+12
Before registering an adapter to i2c subsystem, we need make sure driver is ready for incoming i2c xfer, becasue the i2c_add_adapter() may trigger a i2c device driver's proble function which may start some real i2c xfer. I met this issue when integrating a TSC2007 i2c touch screen device with the i2c-eg20t driver. This patch will call request_irq() and hw init before calling i2c_add_adapter(). Signed-off-by: Feng Tang <[email protected]> Signed-off-by: Ben Dooks <[email protected]>
2011-12-18I2C: OMAP: fix FIFO usage for OMAP4Shubhrajyoti D1-5/+6
Currently the fifo depth is set to zero for OMAP4 which disables the FIFO usage. This patch enables the FIFO usage for I2C transactions on OMAP4 also. Tested on omap4430 and 3430. Tested-and-Reported-by: Nishanth Menon <[email protected]> Signed-off-by: Shubhrajyoti D <[email protected]> Signed-off-by: Kevin Hilman <[email protected]> Signed-off-by: Ben Dooks <[email protected]>
2011-12-18i2c-s3c2410: Fix return code of s3c24xx_i2c_parse_dt_gpioTushar Behera1-1/+1
s3c24xx_i2c_parse_dt_gpio is called when cfg_gpio is not defined in the platform data of the i2c device. When DT is not enabled, the above function always returns -EINVAL. Since there can be some i2c devices which don't need to configure any gpio lines, the probe of such devices would fail here. Changing the default return value to success would fix this issue. Signed-off-by: Tushar Behera <[email protected]> Signed-off-by: Ben Dooks <[email protected]>
2011-12-18i2c: i2c-s3c2410: Add a cpu_relax() to busy wait for bus idleMark Brown1-0/+1
Be a bit more friendly. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Ben Dooks <[email protected]>
2011-12-17Merge branch 'for-linus' of ↵Linus Torvalds4-19/+24
git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: PCI: Set device power state to PCI_D0 for device without native PM support PCI hotplug: Always allow acpiphp to handle non-PCIe bridges PCI: fix ats compile failure PCI: defer enablement of SRIOV BARS
2011-12-16Revert "drm/i915: fix infinite recursion on unbind due to ilk vt-d w/a"Linus Torvalds1-6/+1
This reverts commit eb1711bb94991e93669c5a1b5f84f11be2d51ea1. It blows up the i915 seqno tracking, resulting in the BUG_ON(seqno == 0); in i915_wait_request() triggering, which will cause lock-ups. See for example https://bugs.launchpad.net/ubuntu/+source/linux/+bug/903010 https://lkml.org/lkml/2011/12/14/395 Reported-requested-and-tested-by: Dirk Hohndel <[email protected]> Reported-by: Richard Eames <[email protected]> Reported-by: Rocko Requin <[email protected]> Acked-by: Daniel Vetter <[email protected]> Cc: Dave Airlie <[email protected]> Cc: Chris Wilson <[email protected]> Cc: Keith Packard <[email protected]> Cc: Eric Anholt <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-12-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparcLinus Torvalds5-67/+9
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc32: Be less strict in matching %lo part of relocation. sbus: convert drivers/sbus/char/* to use module_platform_driver() bbc_i2c: Remove unneeded err variable sparc: Use kmemdup rather than duplicating its implementation
2011-12-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds12-66/+44
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: ipv6: Check dest prefix length on original route not copied one in rt6_alloc_cow(). sch_gred: should not use GFP_KERNEL while holding a spinlock ipip, sit: copy parms.name after register_netdevice ipv6: Fix for adding multicast route for loopback device automatically. ssb: fix init regression with SoCs rtl8192{ce,cu,de,se}: avoid problems because of possible ERFOFF -> ERFSLEEP transition mac80211: fix another race in aggregation start fsl_pq_mdio: Clean up tbi address configuration ppp: fix pptp double release_sock in pptp_bind() net/fec: fix the use of pdev->id ath9k: fix check for antenna diversity support batman-adv: delete global entry in case of roaming batman-adv: in case of roaming mark the client with TT_CLIENT_ROAM Bluetooth: Correct version check in hci_setup btusb: fix a memory leak in btusb_send_frame() Bluetooth: bnep: Fix module reference Bluetooth: cmtp: Fix module reference Bluetooth: btmrvl: support Marvell Bluetooth device SD8797
2011-12-16Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~keithp/linuxLinus Torvalds13-90/+359
* 'drm-intel-fixes' of git://people.freedesktop.org/~keithp/linux: drm/i915/dp: Dither down to 6bpc if it makes the mode fit drm/i915: enable semaphores on per-device defaults drm/i915: don't set unpin_work if vblank_get fails drm/i915: By default, enable RC6 on IVB and SNB when reasonable iommu: Export intel_iommu_enabled to signal when iommu is in use drm/i915/sdvo: Include LVDS panels for the IS_DIGITAL check drm/i915: prevent division by zero when asking for chipset power drm/i915: add PCH info to i915_capabilities drm/i915: set the right SDVO transcoder for CPT drm/i915: no-lvds quirk for ASUS AT5NM10T-I drm/i915: Treat pre-gen4 backlight duty cycle value consistently drm/i915: Hook up Ivybridge eDP drm/i915: add multi-threaded forcewake support
2011-12-16Merge branch 'gpio/merge' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds4-23/+52
* 'gpio/merge' of git://git.secretlab.ca/git/linux-2.6: gpio: Fix DA9052 GPIO build errors. gpio: mpc8xxx: don't allow input-only pins to be output for MPC5121 gpio-ml-ioh: Add the irq_disable/irq_enable hooks for ml-ioh irq chip gpio-ml-ioh: fix a bug in the interrupt handler gpio: pl061: drop extra check for NULL platform_data
2011-12-16Merge branch 'for-linus' of git://git.kernel.dk/linux-blockLinus Torvalds3-151/+221
* 'for-linus' of git://git.kernel.dk/linux-block: block: don't kick empty queue in blk_drain_queue() block/swim3: Locking fixes loop: Fix discard_alignment default setting cfq-iosched: fix cfq_cic_link() race confition cfq-iosched: free cic_index if blkio_alloc_blkg_stats fails cciss: fix flush cache transfer length cciss: Add IRQF_SHARED back in for the non-MSI(X) interrupt handler loop: fix loop block driver discard and encryption comment block: initialize request_queue's numa node during
2011-12-16drm/i915/dp: Dither down to 6bpc if it makes the mode fitAdam Jackson3-8/+39
Some active adaptors (VGA usually) only have two lanes at 2.7GHz. That's a maximum pixel clock of 144MHz at 8bpc, but 192MHz at 6bpc. Fixes Asus UX31 panel being black at startup due to no valid modes since dc22ee6fc18ce0f15424e753e8473c306ece95c1. v2: Rebased to current code, resulting in the fix applying to EDP panels as well. Also changed from spatio-temporal to just spatial dithering on pre-ironlake, to be conssitent (and less visual flicker) Signed-off-by: Adam Jackson <[email protected]> Signed-off-by: Eric Anholt <[email protected]> Tested-by: Eric Anholt <[email protected]> Tested-by: Dirk Hohndel <[email protected]> Signed-off-by: Keith Packard <[email protected]>
2011-12-16drm/i915: enable semaphores on per-device defaultsEugeni Dodonov3-4/+21
This adds a default setting for semaphores parameter, and enables semaphores by default on IVB. For now, as semaphores interaction with VTd causes random issues on SNB, we do not enable them by default. But they can still be enabled via the semaphores=1 kernel parameter. v2: enables semaphores on SNB when IO remapping is disabled, with base on Keith Packard patch. CC: Daniel Vetter <[email protected]> CC: Ben Widawsky <[email protected]> CC: Keith Packard <[email protected]> CC: Jesse Barnes <[email protected]> CC: Chris Wilson <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42696 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40564 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41353 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38862 Reviewed-by: Chris Wilson <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Signed-off-by: Eugeni Dodonov <[email protected]> Signed-off-by: Keith Packard <[email protected]>
2011-12-16drm/i915: don't set unpin_work if vblank_get failsJesse Barnes1-5/+7
This fixes a race where we may try to finish a page flip and decrement the refcount even if our vblank_get failed and we ended up with a spurious flip pending interrupt. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=34211. Signed-off-by: Jesse Barnes <[email protected]> Signed-off-by: Keith Packard <[email protected]>
2011-12-16drm/i915: By default, enable RC6 on IVB and SNB when reasonableKeith Packard3-6/+33
RC6 should always work on IVB, and should work on SNB whenever IO remapping is disabled. RC6 never works on Ironlake. Make the default value for the parameter follow these guidelines. Setting the value to either 0 or 1 will force the specified behavior. Signed-off-by: Keith Packard <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eugeni Dodonov <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38567 Cc: Ted Phelps <[email protected]> Cc: Peter <[email protected]> Cc: Lukas Hejtmanek <[email protected]> Cc: Andrew Lutomirski <[email protected]>
2011-12-16iommu: Export intel_iommu_enabled to signal when iommu is in useEugeni Dodonov1-0/+5
In i915 driver, we do not enable either rc6 or semaphores on SNB when dmar is enabled. The new 'intel_iommu_enabled' variable signals when the iommu code is in operation. Cc: Ted Phelps <[email protected]> Cc: Peter <[email protected]> Cc: Lukas Hejtmanek <[email protected]> Cc: Andrew Lutomirski <[email protected]> CC: Daniel Vetter <[email protected]> Cc: Eugeni Dodonov <[email protected]> Signed-off-by: Keith Packard <[email protected]>
2011-12-16drm/i915/sdvo: Include LVDS panels for the IS_DIGITAL checkChris Wilson1-8/+20
We were checking whether the supplied edid matched the connector it was read from. We do this in case a DDC read returns an EDID for another device on a multifunction or otherwise interesting card. However, we failed to include LVDS as a digital device and so rejecting an otherwise valid EDID. Fixes the detection of the secondary SDVO LVDS panel on the Libretto W105. Signed-off-by: Chris Wilson <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39216 Signed-off-by: Keith Packard <[email protected]>
2011-12-16drm/i915: prevent division by zero when asking for chipset powerEugeni Dodonov2-0/+11
This prevents an in-kernel division by zero which happens when we are asking for i915_chipset_val too quickly, or within a race condition between the power monitoring thread and userspace accesses via debugfs. The issue can be reproduced easily via the following command: while ``; do cat /sys/kernel/debug/dri/0/i915_emon_status; done This is particularly dangerous because it can be triggered by a non-privileged user by just reading the debugfs entry. This issue was also found independently by Konstantin Belousov <[email protected]>, who proposed a similar patch. Reported-by: Konstantin Belousov <[email protected]> Acked-by: Jesse Barnes <[email protected]> Acked-by: Keith Packard <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Cc: <[email protected]> Signed-off-by: Eugeni Dodonov <[email protected]> Signed-off-by: Keith Packard <[email protected]>
2011-12-16drm/i915: add PCH info to i915_capabilitiesPaulo Zanoni1-0/+1
Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Paulo Zanoni <[email protected]> Signed-off-by: Keith Packard <[email protected]>
2011-12-16drm/i915: set the right SDVO transcoder for CPTPaulo Zanoni2-6/+10
v2: add a CPT-specific macro, make code cleaner v3: fix commit message Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41272 Cc: [email protected] Signed-off-by: Paulo Zanoni <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Keith Packard <[email protected]>
2011-12-16drm/i915: no-lvds quirk for ASUS AT5NM10T-IAdam Jackson1-0/+8
https://bugzilla.redhat.com/show_bug.cgi?id=750006 Signed-off-by: Adam Jackson <[email protected]> Signed-off-by: Keith Packard <[email protected]>
2011-12-15Merge branch 'linux-next' of ↵Linus Torvalds2-26/+42
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft: ibft: Fix finding IBFT ACPI table on UEFI
2011-12-15Merge branch 'staging-linus' of ↵Linus Torvalds3-7/+13
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging * 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: staging: r8712u: Add new USB ID staging: tidspbridge: request dmtimer clocks on init staging: tidspbridge: include module.h by default
2011-12-15Merge branch 'usb-linus' of ↵Linus Torvalds5-2/+19
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: USB: option: Removing one bogus and adding some new Huawei combinations USB: cdc-acm: add IDs for Motorola H24 HSPA USB module. usb: option: Add Huawei E398 controlling interfaces usb: renesas_usbhs: add hcd->has_tt for low/full speed usb: renesas_usbhs: typofix: irq_dtch control DTCHE usb: gadget: storage: release superspeed descriptors.
2011-12-15Merge branch 'stable/for-linus-fixes-3.2' of ↵Linus Torvalds1-2/+2
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/for-linus-fixes-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/swiotlb: Use page alignment for early buffer allocation. xen: only limit memory map to maximum reservation for domain 0.
2011-12-15gpio: Fix DA9052 GPIO build errors.Ashish Jangam1-13/+8
This patch is functionally tested on Samsung SMDKV6410. Reported-by: Stephen Rothwell <[email protected]> Signed-off-by: David Dajun Chen <[email protected]> Signed-off-by: Ashish Jangam <[email protected]> [grant.likely: don't create an unnecessary header file] Signed-off-by: Grant Likely <[email protected]>
2011-12-15xen/swiotlb: Use page alignment for early buffer allocation.Konrad Rzeszutek Wilk1-2/+2
This fixes an odd bug found on a Dell PowerEdge 1850/0RC130 (BIOS A05 01/09/2006) where all of the modules doing pci_set_dma_mask would fail with: ata_piix 0000:00:1f.1: enabling device (0005 -> 0007) ata_piix 0000:00:1f.1: can't derive routing for PCI INT A ata_piix 0000:00:1f.1: BMDMA: failed to set dma mask, falling back to PIO The issue was the Xen-SWIOTLB was allocated such as that the end of buffer was stradling a page (and also above 4GB). The fix was spotted by Kalev Leonid which was to piggyback on git commit e79f86b2ef9c0a8c47225217c1018b7d3d90101c "swiotlb: Use page alignment for early buffer allocation" which: We could call free_bootmem_late() if swiotlb is not used, and it will shrink to page alignment. So alloc them with page alignment at first, to avoid lose two pages And doing that fixes the outstanding issue. CC: [email protected] Suggested-by: "Kalev, Leonid" <[email protected]> Reported-and-Tested-by: "Taylor, Neal E" <[email protected]> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
2011-12-15[SCSI] fcoe: fix fcoe in a DCB environment by adding DCB notifiers to set ↵john fastabend2-0/+119
skb priority Use DCB notifiers to set the skb priority to allow packets to be steered and tagged correctly over DCB enabled drivers that setup traffic classes. This allows queue_mapping() routines to be removed in these drivers that were previously inspecting the ethertype of every skb to mark FCoE/FIP frames. Signed-off-by: John Fastabend <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-12-14PCI: Set device power state to PCI_D0 for device without native PM supportAjaykumar Hotchandani2-1/+3
During test of one IB card with guest VM, found that, msi is not initialized properly. It turns out __write_msi_msg will do nothing if device current_state is not PCI_D0. And, that pci device does not have pm_cap in guest VM. There is an error in setting of power state to PCI_D0 in pci_enable_device(), but error is not returned for this. Following is code flow: pci_enable_device() --> __pci_enable_device_flags() --> do_pci_enable_device() --> pci_set_power_state() --> __pci_start_power_transition() We have following condition inside __pci_start_power_transition(): if (platform_pci_power_manageable(dev)) { error = platform_pci_set_power_state(dev, state); if (!error) pci_update_current_state(dev, state); } else { error = -ENODEV; /* Fall back to PCI_D0 if native PM is not supported */ if (!dev->pm_cap) dev->current_state = PCI_D0; } Here, from platform_pci_set_power_state(), acpi_pci_set_power_state() is getting called and that is failing with ENODEV because of following condition: if (!handle || ACPI_SUCCESS(acpi_get_handle(handle, "_EJ0",&tmp))) return -ENODEV; Because of that, pci_update_current_state() is not getting called. With this patch, if device power state can not be set via platform_pci_set_power_state and that device does not have native pm support, then PCI device power state will be set to PCI_D0. -v2: This also reverts 47e9037ac16637cd7f12b8790ea7ce6680e42168, as it's not needed after this change. Acked-by: "Rafael J. Wysocki" <[email protected]> Signed-off-by: Ajaykumar Hotchandani<[email protected]> Signed-off-by: Yinghai Lu<[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
2011-12-14[SCSI] bnx2i: Fixed kernel panic caused by unprotected task->sc->request derefEddie Wai1-2/+3
During session recovery, the conn_stop call will trigger a flush to all outstanding SCSI cmds in the xmit queue. This will set all outstanding task->sc to NULL prior to the session_teardown call which frees the task memory. In the bnx2i SCSI response processing path, only the task was being checked for NULL under the session lock before the task->sc->request dereferencing. If there are outstanding SCSI cmd responses pending for process, the following kernel panic can be exposed where task->sc was found to be NULL. Call Trace: [ 69.720205] [<ffffffffa040d0d0>] bnx2i_process_new_cqes+0x290/0x3c0 [bnx2i] [ 69.804289] [<ffffffffa040d233>] bnx2i_fastpath_notification+0x33/0xa0 [bnx2 i] [ 69.891490] [<ffffffffa040d37b>] bnx2i_indicate_kcqe+0xdb/0x330 [bnx2i] [ 69.971427] [<ffffffffa03eac5e>] service_kcqes+0x16e/0x1d0 [cnic] [ 70.045132] [<ffffffffa03eacea>] cnic_service_bnx2x_kcq+0x2a/0x50 [cnic] [ 70.126105] [<ffffffffa03ead53>] cnic_service_bnx2x_bh+0x43/0x140 [cnic] [ 70.207081] [<ffffffff81060676>] tasklet_action+0x66/0x110 [ 70.273521] [<ffffffff8106025f>] __do_softirq+0xef/0x220 [ 70.337887] [<ffffffff81447ebc>] call_softirq+0x1c/0x30 This patch adds the !task->sc check and also protects the sc dereferencing under the session lock. Signed-off-by: Eddie Wai <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-12-14[SCSI] qla4xxx: check for failed conn setupMike Christie1-0/+3
iscsi_conn_setup can fail so we must check for NULL being returned. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-12-14[SCSI] qla4xxx: a small loop fixTomas Henzl1-1/+3
When the qla4xxx_get_fwddb_entry returns QLA_ERROR the nex_idx is not updated, for (idx = 0; idx < max_ddbs; idx = next_idx) { ret = qla4xxx_get_fwddb_entry(ha, idx, NULL, 0, NULL, &next_idx, &state, &conn_err, NULL, NULL); if (ret == QLA_ERROR) continue; This means there is a risk that the 'idx < max_ddbs' condition will never met and the loop will loop forever. Fix this by explicitly increasing the next_idx in the error condition. Maybe a break instead of continue is more appropriate, leaving the decision on the qlogic maintainer. Signed-off-by: Tomas Henzl <[email protected]> Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-12-14[SCSI] qla4xxx: fix flash/ddb supportMike Christie7-97/+1315
With open-iscsi support, target entries persisted in the FLASH were not login. Added support in the qla4xxx driver to do the login on probe time to the target entries saved in the FLASH by user. With this changes upgrade to the new kernel with open-iscsi support in qla4xxx will ensure users original target entries login on driver load Signed-off-by: Manish Rangankar <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-12-14[SCSI] zfcp: return early from slave_destroy if slave_alloc returned earlySteffen Maier1-0/+4
zfcp_scsi_slave_destroy erroneously always tried to finish its task even if the corresponding previous zfcp_scsi_slave_alloc returned early. This can lead to kernel page faults on accessing uninitialized fields of struct zfcp_scsi_dev in zfcp_erp_lun_shutdown_wait. Take the port field of the struct to determine if slave_alloc returned early. This zfcp bug is exposed by 4e6c82b (in turn fixing f7c9c6b to be compatible with 21208ae) which can call slave_destroy for a corresponding previous slave_alloc that did not finish. This patch is based on James Bottomley's fix suggestion in http://www.spinics.net/lists/linux-scsi/msg55449.html. Signed-off-by: Steffen Maier <[email protected]> Cc: <[email protected]> #2.6.38+ Signed-off-by: James Bottomley <[email protected]>
2011-12-14[SCSI] fcoe: Fix preempt count leak in fcoe_filter_frames()Thomas Gleixner1-0/+1
The error exit path leaks preempt count. Add the missing put_cpu(). Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Yi Zou <[email protected]> Cc: [email protected] Signed-off-by: James Bottomley <[email protected]>
2011-12-13staging: r8712u: Add new USB IDLarry Finger1-0/+1
Add USB ID for Sitecom WLA-2000 v1.001 WLAN. Reported-and-tested-by: Roland Gruber <[email protected]> Signed-off-by: Larry Finger <[email protected]> Cc: Stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-12-13staging: tidspbridge: request dmtimer clocks on initOmar Ramirez Luna1-3/+12
Given that dm timer framework doesn't support request of clocks by soft | hard irqs because some recent changes, tidspbridge needs to request its clocks on init and enable/disable them on demand. This was first seen on 3.2-rc1. Signed-off-by: Omar Ramirez Luna <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-12-13staging: tidspbridge: include module.h by defaultOmar Ramirez Luna1-4/+0
Fixes compilation break when compiled as part of the kernel: drivers/staging/tidspbridge/rmgr/drv_interface.c:134: error: expected declaration specifiers or '...' before string constant drivers/staging/tidspbridge/rmgr/drv_interface.c:134: warning: data definition has no type or storage class drivers/staging/tidspbridge/rmgr/drv_interface.c:134: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR' drivers/staging/tidspbridge/rmgr/drv_interface.c:134: warning: function declaration isn't a prototype drivers/staging/tidspbridge/rmgr/drv_interface.c:135: error: expected declaration specifiers or '...' before string constant drivers/staging/tidspbridge/rmgr/drv_interface.c:135: warning: data definition has no type or storage class drivers/staging/tidspbridge/rmgr/drv_interface.c:135: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE' drivers/staging/tidspbridge/rmgr/drv_interface.c:135: warning: function declaration isn't a prototype drivers/staging/tidspbridge/rmgr/drv_interface.c:136: error: expected declaration specifiers or '...' before string constant drivers/staging/tidspbridge/rmgr/drv_interface.c:136: warning: data definition has no type or storage class drivers/staging/tidspbridge/rmgr/drv_interface.c:136: warning: type defaults to 'int' in declaration of 'MODULE_VERSION' drivers/staging/tidspbridge/rmgr/drv_interface.c:136: warning: function declaration isn't a prototype drivers/staging/tidspbridge/rmgr/drv_interface.c: In function 'omap34_xx_bridge_probe': drivers/staging/tidspbridge/rmgr/drv_interface.c:359: error: 'THIS_MODULE' undeclared (first use in this function) drivers/staging/tidspbridge/rmgr/drv_interface.c:359: error: (Each undeclared identifier is reported only once drivers/staging/tidspbridge/rmgr/drv_interface.c:359: error: for each function it appears in.) Signed-off-by: Omar Ramirez Luna <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-12-13Merge branch 'for-linus' of ↵Linus Torvalds1-91/+10
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: add missing spin_unlock at ceph_mdsc_build_path() ceph: fix SEEK_CUR, SEEK_SET regression crush: fix mapping calculation when force argument doesn't exist ceph: use i_ceph_lock instead of i_lock rbd: remove buggy rollback functionality rbd: return an error when an invalid header is read ceph: fix rasize reporting by ceph_show_options
2011-12-13PCI hotplug: Always allow acpiphp to handle non-PCIe bridgesRafael J. Wysocki1-17/+12
Commit 0d52f54e2ef64c189dedc332e680b2eb4a34590a (PCI / ACPI: Make acpiphp ignore root bridges using PCIe native hotplug) added code that made the acpiphp driver completely ignore PCIe root complexes for which the kernel had been granted control of the native PCIe hotplug feature by the BIOS through _OSC. Unfortunately, however, this was a mistake, because on some systems there were PCI bridges supporting PCI (non-PCIe) hotplug under such root complexes and those bridges should have been handled by acpiphp. For this reason, revert the changes made by the commit mentioned above and make register_slot() in drivers/pci/hotplug/acpiphp_glue.c avoid registering hotplug slots for PCIe ports that belong to root complexes with native PCIe hotplug enabled (which means that the BIOS has granted the kernel control of this feature for the given root complex). This is reported to address the original issue fixed by commit 0d52f54e2ef64c189dedc332e680b2eb4a34590a and to work on the system where that commit broke things. Signed-off-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
2011-12-13gpio: mpc8xxx: don't allow input-only pins to be output for MPC5121Wolfram Sang1-5/+13
Add a 5121-custom reject if an input-only pin is requested to be output (see 18.3.1.1 in the refman). Also, rewrite mach-specific quirk setup to consume less lines which scales better. Signed-off-by: Wolfram Sang <[email protected]> [grant.likely: Fixed build error] Signed-off-by: Grant Likely <[email protected]>