summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2012-07-17 09:23:14 +0200
committerDenys Dmytriyenko <denys@ti.com>2012-07-25 20:37:17 -0400
commit9bc77dff5f84578e259f8225bfa0656d94a2a60a (patch)
treefacf359351214a4f3441d0992b0aaa3bcb7ed098
parent751040122dad1e1036ff32b716e9f40be010c2b3 (diff)
downloadmeta-ti-9bc77dff5f84578e259f8225bfa0656d94a2a60a.tar.gz
linux-ti33x-psp 3.2: update to 3.2.23
Regenerate all beaglebone patches and add one vfs tracer patch for powertop Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
-rw-r--r--conf/machine/include/ti33x.inc2
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0001-staging-iio-ad7606-Re-add-missing-scale-attribute.patch37
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0002-Tools-hv-verify-origin-of-netlink-connector-message.patch51
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0003-edac-avoid-mce-decoding-crash-after-edac-driver-unlo.patch166
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0004-hwrng-atmel-rng-fix-data-valid-check.patch72
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0005-staging-r8712u-Add-new-USB-IDs.patch32
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0006-hwmon-applesmc-Limit-key-length-in-warning-messages.patch43
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0007-mm-pmd_read_atomic-fix-32bit-PAE-pmd-walk-vs-pmd_pop.patch218
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0008-thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit.patch125
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0009-nilfs2-ensure-proper-cache-clearing-for-gc-inodes.patch71
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0010-drm-i915-Finish-any-pending-operations-on-the-frameb.patch130
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0011-drm-i915-Remove-use-of-the-autoreported-ringbuffer-H.patch84
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0012-e1000e-Disable-ASPM-L1-on-82574.patch41
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0013-e1000e-Remove-special-case-for-82573-82574-ASPM-L1-d.patch43
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0014-drm-i915-Do-the-fallback-non-IRQ-wait-in-ring-thrott.patch39
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0015-staging-rts_pstor-Fix-possible-panic-by-NULL-pointer.patch72
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0016-gspca-core-Fix-buffers-staying-in-queued-state-after.patch45
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0017-smsusb-add-autodetection-support-for-USB-ID-2040-f5a.patch30
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0018-drm-edid-don-t-return-stack-garbage-from-supports_rb.patch36
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0019-drm-nouveau-fbcon-using-nv_two_heads-is-not-a-good-i.patch43
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0020-dm-thin-reinstate-missing-mempool_free-in-cell_relea.patch55
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0021-ath9k-Fix-a-WARNING-on-suspend-resume-with-IBSS.patch75
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0022-cfg80211-fix-potential-deadlock-in-regulatory.patch144
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0023-ath9k-Fix-softlockup-in-AR9485.patch68
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0024-can-c_can-precedence-error-in-c_can_chip_config.patch38
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch41
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0026-batman-adv-fix-skb-data-assignment.patch42
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0027-ARM-SAMSUNG-Should-check-for-IS_ERR-clk-instead-of-N.patch33
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0028-ath9k_hw-avoid-possible-infinite-loop-in-ar9003_get_.patch61
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0029-iwlwifi-remove-log_event-debugfs-file-debugging-is-d.patch67
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0030-ARM-SAMSUNG-Fix-for-S3C2412-EBI-memory-mapping.patch36
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0031-USB-option-add-id-for-Cellient-MEN-200.patch44
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0032-oprofile-perf-use-NR_CPUS-instead-or-nr_cpumask_bits.patch44
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0033-drm-i915-Refactor-the-deferred-PM_IIR-handling-into-.patch107
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0034-drm-i915-rip-out-the-PM_IIR-WARN.patch60
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0035-drm-i915-Fix-eDP-blank-screen-after-S3-resume-on-HP-.patch46
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0036-PM-Sleep-Prevent-waiting-forever-on-asynchronous-sus.patch62
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0037-x86-cpufeature-Rename-X86_FEATURE_DTS-to-X86_FEATURE.patch73
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0038-stable-Allow-merging-of-backports-for-serious-user-v.patch51
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0039-ALSA-hda-Add-Realtek-ALC280-codec-support.patch34
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0040-USB-option-Add-USB-ID-for-Novatel-Ovation-MC551.patch41
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0041-USB-CP210x-Add-10-Device-IDs.patch61
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0042-xen-netfront-teardown-the-device-before-unregisterin.patch58
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0043-can-flexcan-use-be32_to_cpup-to-handle-the-value-of-.patch44
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0044-acpi_pad-fix-power_saving-thread-deadlock.patch66
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0045-batman-adv-only-drop-packets-of-known-wifi-clients.patch55
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0046-Linux-3.2.22.patch24
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0001-splice-fix-racy-pipe-buffers-uses.patch298
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0002-umem-fix-up-unplugging.patch86
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0003-mwifiex-fix-11n-rx-packet-drop-issue.patch88
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0004-mwifiex-fix-WPS-eapol-handshake-failure.patch52
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0005-NFC-Prevent-multiple-buffer-overflows-in-NCI.patch52
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0006-ath9k-fix-dynamic-WEP-related-regression.patch80
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0007-NFC-Return-from-rawsock_release-when-sk-is-NULL.patch107
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0008-rtlwifi-rtl8192cu-New-USB-IDs.patch45
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0009-ath9k-enable-serialize_regmode-for-non-PCIE-AR9287.patch34
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0010-mac80211-correct-behaviour-on-unrecognised-action-fr.patch48
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0011-ASoC-tlv320aic3x-Fix-codec-pll-configure-bug.patch62
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0012-powerpc-xmon-Use-cpumask-iterator-to-avoid-warning.patch56
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0013-powerpc-kvm-sldi-should-be-sld.patch40
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0014-md-raid10-Don-t-try-to-recovery-unmatched-and-unused.patch50
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0015-md-raid5-Do-not-add-data_offset-before-call-to-is_ba.patch54
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0016-md-raid5-In-ops_run_io-inc-nr_pending-before-calling.patch45
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0017-md-raid10-fix-failure-when-trying-to-repair-a-read-e.patch61
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0018-drm-i915-kick-any-firmware-framebuffers-before-claim.patch118
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0019-dm-persistent-data-fix-shadow_info_leak-on-dm_tm_des.patch37
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0020-dm-persistent-data-handle-space-map-checker-creation.patch182
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0021-dm-persistent-data-fix-allocation-failure-in-space-m.patch95
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0022-ALSA-hda-Fix-power-map-regression-for-HP-dv6-co.patch49
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0023-tracing-change-CPU-ring-buffer-state-from-tracing_cp.patch56
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0024-mwifiex-fix-wrong-return-values-in-add_virtual_intf-.patch93
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0025-udf-Use-ret-instead-of-abusing-i-in-udf_load_logical.patch35
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0026-udf-Avoid-run-away-loop-when-partition-table-length-.patch54
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0027-udf-Fortify-loading-of-sparing-table.patch134
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0028-ARM-fix-rcu-stalls-on-SMP-platforms.patch68
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0029-net-sock-validate-data_len-before-allocating-skb-in-.patch53
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0030-cipso-handle-CIPSO-options-correctly-when-NetLabel-i.patch80
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0031-net-l2tp_eth-fix-kernel-panic-on-rmmod-l2tp_eth.patch43
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0032-l2tp-fix-a-race-in-l2tp_ip_sendmsg.patch53
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0033-sky2-fix-checksum-bit-management-on-some-chips.patch47
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0034-be2net-fix-a-race-in-be_xmit.patch44
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0035-dummy-fix-rcu_sched-self-detected-stalls.patch49
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0036-bonding-Fix-corrupted-queue_mapping.patch117
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0037-ethtool-allow-ETHTOOL_GSSET_INFO-for-users.patch36
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0038-netpoll-fix-netpoll_send_udp-bugs.patch77
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0039-ipv6-Move-ipv6-proc-file-registration-to-end-of-init.patch126
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0040-bridge-Assign-rtnl_link_ops-to-bridge-devices-create.patch62
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0041-Btrfs-run-delayed-directory-updates-during-log-repla.patch56
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0042-cifs-when-server-doesn-t-set-CAP_LARGE_READ_X-cap-de.patch60
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0043-ocfs2-clear-unaligned-io-flag-when-dio-fails.patch38
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0044-aio-make-kiocb-private-NUll-in-init_sync_kiocb.patch39
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0045-mtd-cafe_nand-fix-an-vs-mistake.patch39
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0046-mm-Hold-a-file-reference-in-madvise_remove.patch80
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0047-tcm_fc-Resolve-suspicious-RCU-usage-warnings.patch36
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0048-vfs-make-O_PATH-file-descriptors-usable-for-fchdir.patch56
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0049-Linux-3.2.23.patch24
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0001-f_rndis-HACK-around-undefined-variables.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0002-da8xx-fb-add-DVI-support-for-beaglebone.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0003-beaglebone-rebase-everything-onto-3.2-WARNING-MEGAPA.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0004-more-beaglebone-merges.patch10
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0005-beaglebone-disable-tsadc.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0006-tscadc-Add-general-purpose-mode-untested-with-touchs.patch6
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0007-tscadc-Add-board-file-mfd-support-fix-warning.patch6
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0008-AM335X-init-tsc-bone-style-for-new-boards.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0009-tscadc-make-stepconfig-channel-configurable.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0010-tscadc-Trigger-through-sysfs.patch6
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0011-meta-ti-Remove-debug-messages-for-meta-ti.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0012-tscadc-switch-to-polling-instead-of-interrupts.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0013-beaglebone-fix-ADC-init.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0014-AM335x-MUX-add-ehrpwm1A.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0015-beaglebone-enable-PWM-for-lcd-backlight-backlight-is.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0016-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch12
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0017-beaglebone-set-default-brightness-to-50-for-pwm-back.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0018-st7735fb-WIP-framebuffer-driver-supporting-Adafruit-.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0019-beaglebone-use-P8_6-gpio1_3-as-w1-bus.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch10
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0021-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0022-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-enter-key-for-lcd7-cape.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-fix-direction-of-gpio-keys.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-fix-3.5-lcd-cape-support.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0027-beaglebone-decrease-PWM-frequency-to-old-value-LCD7-.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0028-beaglebone-fix-ehrpwm-backlight.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0029-beaglebone-also-report-cape-revision.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0030-beaglebone-don-t-compare-undefined-characters-it-mak.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0031-beaglebone-fix-3.5-cape-support.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch10
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch10
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch10
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0041-st7735fb-Working-WIP-changes-to-make-DMA-safe-and-ad.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0042-omap-hwmod-silence-st_shift-error.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0043-cpsw-phy_device-demote-PHY-message-to-INFO.patch6
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0044-beaglebone-add-support-for-7-LCD-cape-revision-A2.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0046-beaglebone-add-stub-for-the-camera-cape-to-disable-w.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0047-Adding-many-of-the-missing-signals-to-the-mux-table.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0048-Fixed-reversed-part-of-LCD-bus.-Added-even-more-miss.patch10
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0049-ts_tscadc-add-defines-for-4x-and-16x-oversampling.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0050-ts_tscadc-switch-to-4x-oversampling.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0051-Fixed-size-of-pinmux-data-array-in-EEPROM-data-struc.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0052-Implemented-Bone-Cape-configuration-from-EEPROM.-Onl.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0053-Replaced-conditional-debug-code-by-pr_debug-statemen.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0054-Workaround-for-boards-with-mistaken-ASCII-interpreta.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0056-Added-check-on-EEPROM-revision-to-prevent-interpreti.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0057-i2c-prescalar-fix-i2c-fixed-prescalar-setting-issue.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0058-beaglebone-annotate-default-beaglebone-pinmux.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0060-beaglebone-switch-RS232-cape-to-ttyO2.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0061-beaglebone-make-uart2-pinmux-match-the-uart0-pinmux.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0062-da8xx-fb-Rounding-FB-size-to-satisfy-SGX-buffer-requ.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch12
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0066-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch (renamed from recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch)8
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch (renamed from recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch)12
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-LCD3-rev-A1.patch (renamed from recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch)10
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch (renamed from recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch)10
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-LCD3-led-key-overlap.patch (renamed from recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-LCD3-led-key-overlap.patch)6
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-audio-spi-clash.patch (renamed from recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-fix-audio-spi-clash.patch)12
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch (renamed from recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch)18
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch (renamed from recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch)11
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-disable-LBO-GPIO-for-battery-cape.patch (renamed from recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0075-beaglebone-disable-LBO-GPIO-for-battery-cape.patch)6
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0080-vfs-Add-a-trace-point-in-the-mark_inode_dirty-functi.patch103
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp_3.2.bb116
172 files changed, 6825 insertions, 323 deletions
diff --git a/conf/machine/include/ti33x.inc b/conf/machine/include/ti33x.inc
index 441a7bbb..02759d51 100644
--- a/conf/machine/include/ti33x.inc
+++ b/conf/machine/include/ti33x.inc
@@ -4,7 +4,7 @@ require conf/machine/include/soc-family.inc
4require conf/machine/include/tune-cortexa8.inc 4require conf/machine/include/tune-cortexa8.inc
5PREFERRED_PROVIDER_virtual/kernel = "linux-ti33x-psp" 5PREFERRED_PROVIDER_virtual/kernel = "linux-ti33x-psp"
6# Increase this everytime you change something in the kernel 6# Increase this everytime you change something in the kernel
7MACHINE_KERNEL_PR = "r13" 7MACHINE_KERNEL_PR = "r14"
8 8
9KERNEL_IMAGETYPE = "uImage" 9KERNEL_IMAGETYPE = "uImage"
10 10
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0001-staging-iio-ad7606-Re-add-missing-scale-attribute.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0001-staging-iio-ad7606-Re-add-missing-scale-attribute.patch
new file mode 100644
index 00000000..4f7f561c
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0001-staging-iio-ad7606-Re-add-missing-scale-attribute.patch
@@ -0,0 +1,37 @@
1From ea62444a6898324ec9aeb8799a8fd518073fe5a8 Mon Sep 17 00:00:00 2001
2From: Lars-Peter Clausen <lars@metafoo.de>
3Date: Tue, 5 Jun 2012 18:16:31 +0200
4Subject: [PATCH 01/46] staging:iio:ad7606: Re-add missing scale attribute
5
6commit 279bf2e57c30c9a4482b2b6ede11b31c41e35e78 upstream.
7
8Commit 50ac23be ("staging:iio:adc:ad7606 add local define for chan_spec
9structures.") accidentally removed the scale info_mask flag. This patch
10adds it back again.
11
12Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
13Acked-by: Jonathan Cameron <jic23@kernel.org>
14Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
15[bwh: Backported to 3.2:
16 - info_mask was completely gone rather than set to another flag
17 - IIO_CHAN_INFO_SCALE_SHARED_BIT was not defined; write it out as a shift]
18Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
19---
20 drivers/staging/iio/adc/ad7606_core.c | 1 +
21 1 file changed, 1 insertion(+)
22
23diff --git a/drivers/staging/iio/adc/ad7606_core.c b/drivers/staging/iio/adc/ad7606_core.c
24index 54423ab..2ee187f 100644
25--- a/drivers/staging/iio/adc/ad7606_core.c
26+++ b/drivers/staging/iio/adc/ad7606_core.c
27@@ -241,6 +241,7 @@ static const struct attribute_group ad7606_attribute_group = {
28 .indexed = 1, \
29 .channel = num, \
30 .address = num, \
31+ .info_mask = (1 << IIO_CHAN_INFO_SCALE_SHARED), \
32 .scan_index = num, \
33 .scan_type = IIO_ST('s', 16, 16, 0), \
34 }
35--
361.7.10
37
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0002-Tools-hv-verify-origin-of-netlink-connector-message.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0002-Tools-hv-verify-origin-of-netlink-connector-message.patch
new file mode 100644
index 00000000..7b4da321
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0002-Tools-hv-verify-origin-of-netlink-connector-message.patch
@@ -0,0 +1,51 @@
1From 510150c1fa93796d65a9b598a8e1509629f5d84e Mon Sep 17 00:00:00 2001
2From: Olaf Hering <olaf@aepfle.de>
3Date: Thu, 31 May 2012 16:40:06 +0200
4Subject: [PATCH 02/46] Tools: hv: verify origin of netlink connector message
5
6commit bcc2c9c3fff859e0eb019fe6fec26f9b8eba795c upstream.
7
8The SuSE security team suggested to use recvfrom instead of recv to be
9certain that the connector message is originated from kernel.
10
11CVE-2012-2669
12
13Signed-off-by: Olaf Hering <olaf@aepfle.de>
14Signed-off-by: Marcus Meissner <meissner@suse.de>
15Signed-off-by: Sebastian Krahmer <krahmer@suse.de>
16Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
17Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
18Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
19---
20 tools/hv/hv_kvp_daemon.c | 10 +++++++---
21 1 file changed, 7 insertions(+), 3 deletions(-)
22
23diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
24index 11224ed..323d4d9 100644
25--- a/tools/hv/hv_kvp_daemon.c
26+++ b/tools/hv/hv_kvp_daemon.c
27@@ -384,14 +384,18 @@ int main(void)
28 pfd.fd = fd;
29
30 while (1) {
31+ struct sockaddr *addr_p = (struct sockaddr *) &addr;
32+ socklen_t addr_l = sizeof(addr);
33 pfd.events = POLLIN;
34 pfd.revents = 0;
35 poll(&pfd, 1, -1);
36
37- len = recv(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0);
38+ len = recvfrom(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0,
39+ addr_p, &addr_l);
40
41- if (len < 0) {
42- syslog(LOG_ERR, "recv failed; error:%d", len);
43+ if (len < 0 || addr.nl_pid) {
44+ syslog(LOG_ERR, "recvfrom failed; pid:%u error:%d %s",
45+ addr.nl_pid, errno, strerror(errno));
46 close(fd);
47 return -1;
48 }
49--
501.7.10
51
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0003-edac-avoid-mce-decoding-crash-after-edac-driver-unlo.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0003-edac-avoid-mce-decoding-crash-after-edac-driver-unlo.patch
new file mode 100644
index 00000000..66707614
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0003-edac-avoid-mce-decoding-crash-after-edac-driver-unlo.patch
@@ -0,0 +1,166 @@
1From 081ba8d6f6253982766e17b90992c1002c31acb0 Mon Sep 17 00:00:00 2001
2From: Chen Gong <gong.chen@linux.intel.com>
3Date: Tue, 8 May 2012 20:40:12 -0300
4Subject: [PATCH 03/46] edac: avoid mce decoding crash after edac driver
5 unloaded
6
7commit e35fca4791fcdd43dc1fd769797df40c562ab491 upstream.
8
9Some edac drivers register themselves as mce decoders via
10notifier_chain. But in current notifier_chain implementation logic,
11it doesn't accept same notifier registered twice. If so, it will be
12wrong when adding/removing the element from the list. For example,
13on one SandyBridge platform, remove module sb_edac and then trigger
14one error, it will hit oops because it has no mce decoder registered
15but related notifier_chain still points to an invalid callback
16function. Here is an example:
17
18Call Trace:
19 [<ffffffff8150ef6a>] atomic_notifier_call_chain+0x1a/0x20
20 [<ffffffff8102b936>] mce_log+0x46/0x180
21 [<ffffffff8102eaea>] apei_mce_report_mem_error+0x4a/0x60
22 [<ffffffff812e19d2>] ghes_do_proc+0x192/0x210
23 [<ffffffff812e2066>] ghes_proc+0x46/0x70
24 [<ffffffff812e20d8>] ghes_notify_sci+0x48/0x80
25 [<ffffffff8150ef05>] notifier_call_chain+0x55/0x80
26 [<ffffffff81076f1a>] __blocking_notifier_call_chain+0x5a/0x80
27 [<ffffffff812aea11>] ? acpi_os_wait_events_complete+0x23/0x23
28 [<ffffffff81076f56>] blocking_notifier_call_chain+0x16/0x20
29 [<ffffffff812ddc4d>] acpi_hed_notify+0x19/0x1b
30 [<ffffffff812b16bd>] acpi_device_notify+0x19/0x1b
31 [<ffffffff812beb38>] acpi_ev_notify_dispatch+0x67/0x7f
32 [<ffffffff812aea3a>] acpi_os_execute_deferred+0x29/0x36
33 [<ffffffff81069dc2>] process_one_work+0x132/0x450
34 [<ffffffff8106bbcb>] worker_thread+0x17b/0x3c0
35 [<ffffffff8106ba50>] ? manage_workers+0x120/0x120
36 [<ffffffff81070aee>] kthread+0x9e/0xb0
37 [<ffffffff81514724>] kernel_thread_helper+0x4/0x10
38 [<ffffffff81070a50>] ? kthread_freezable_should_stop+0x70/0x70
39 [<ffffffff81514720>] ? gs_change+0x13/0x13
40Code: f3 49 89 d4 45 85 ed 4d 89 c6 48 8b 0f 74 48 48 85 c9 75 17 eb 41
410f 1f 80 00 00 00 00 41 83 ed 01 4c 89 f9 74 22 4d 85 ff 74 1d <4c> 8b
4279 08 4c 89 e2 48 89 de 48 89 cf ff 11 4d 85 f6 74 04 41
43RIP [<ffffffff8150eef6>] notifier_call_chain+0x46/0x80
44 RSP <ffff88042868fb20>
45CR2: ffffffffa01af838
46---[ end trace 0100930068e73e6f ]---
47BUG: unable to handle kernel paging request at fffffffffffffff8
48IP: [<ffffffff810705b0>] kthread_data+0x10/0x20
49PGD 1a0d067 PUD 1a0e067 PMD 0
50Oops: 0000 [#2] SMP
51
52Only i7core_edac and sb_edac have such issues because they have more
53than one memory controller which means they have to register mce
54decoder many times.
55
56Signed-off-by: Chen Gong <gong.chen@linux.intel.com>
57Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
58[bwh: Backported to 3.2: drivers call atomic_notifier_chain_{,un}register()
59 directly]
60Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
61---
62 drivers/edac/i7core_edac.c | 15 ++++-----------
63 drivers/edac/sb_edac.c | 10 ++++------
64 2 files changed, 8 insertions(+), 17 deletions(-)
65
66diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c
67index 70ad892..b3ccefa 100644
68--- a/drivers/edac/i7core_edac.c
69+++ b/drivers/edac/i7core_edac.c
70@@ -1932,12 +1932,6 @@ static int i7core_mce_check_error(struct notifier_block *nb, unsigned long val,
71 if (mce->bank != 8)
72 return NOTIFY_DONE;
73
74-#ifdef CONFIG_SMP
75- /* Only handle if it is the right mc controller */
76- if (mce->socketid != pvt->i7core_dev->socket)
77- return NOTIFY_DONE;
78-#endif
79-
80 smp_rmb();
81 if ((pvt->mce_out + 1) % MCE_LOG_LEN == pvt->mce_in) {
82 smp_wmb();
83@@ -2234,8 +2228,6 @@ static void i7core_unregister_mci(struct i7core_dev *i7core_dev)
84 if (pvt->enable_scrub)
85 disable_sdram_scrub_setting(mci);
86
87- atomic_notifier_chain_unregister(&x86_mce_decoder_chain, &i7_mce_dec);
88-
89 /* Disable EDAC polling */
90 i7core_pci_ctl_release(pvt);
91
92@@ -2336,8 +2328,6 @@ static int i7core_register_mci(struct i7core_dev *i7core_dev)
93 /* DCLK for scrub rate setting */
94 pvt->dclk_freq = get_dclk_freq();
95
96- atomic_notifier_chain_register(&x86_mce_decoder_chain, &i7_mce_dec);
97-
98 return 0;
99
100 fail0:
101@@ -2481,8 +2471,10 @@ static int __init i7core_init(void)
102
103 pci_rc = pci_register_driver(&i7core_driver);
104
105- if (pci_rc >= 0)
106+ if (pci_rc >= 0) {
107+ atomic_notifier_chain_register(&x86_mce_decoder_chain, &i7_mce_dec);
108 return 0;
109+ }
110
111 i7core_printk(KERN_ERR, "Failed to register device with error %d.\n",
112 pci_rc);
113@@ -2498,6 +2490,7 @@ static void __exit i7core_exit(void)
114 {
115 debugf2("MC: " __FILE__ ": %s()\n", __func__);
116 pci_unregister_driver(&i7core_driver);
117+ atomic_notifier_chain_unregister(&x86_mce_decoder_chain, &i7_mce_dec);
118 }
119
120 module_init(i7core_init);
121diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
122index 7a402bf..18a1293 100644
123--- a/drivers/edac/sb_edac.c
124+++ b/drivers/edac/sb_edac.c
125@@ -1661,9 +1661,6 @@ static void sbridge_unregister_mci(struct sbridge_dev *sbridge_dev)
126 debugf0("MC: " __FILE__ ": %s(): mci = %p, dev = %p\n",
127 __func__, mci, &sbridge_dev->pdev[0]->dev);
128
129- atomic_notifier_chain_unregister(&x86_mce_decoder_chain,
130- &sbridge_mce_dec);
131-
132 /* Remove MC sysfs nodes */
133 edac_mc_del_mc(mci->dev);
134
135@@ -1731,8 +1728,6 @@ static int sbridge_register_mci(struct sbridge_dev *sbridge_dev)
136 goto fail0;
137 }
138
139- atomic_notifier_chain_register(&x86_mce_decoder_chain,
140- &sbridge_mce_dec);
141 return 0;
142
143 fail0:
144@@ -1861,8 +1856,10 @@ static int __init sbridge_init(void)
145
146 pci_rc = pci_register_driver(&sbridge_driver);
147
148- if (pci_rc >= 0)
149+ if (pci_rc >= 0) {
150+ atomic_notifier_chain_register(&x86_mce_decoder_chain, &sbridge_mce_dec);
151 return 0;
152+ }
153
154 sbridge_printk(KERN_ERR, "Failed to register device with error %d.\n",
155 pci_rc);
156@@ -1878,6 +1875,7 @@ static void __exit sbridge_exit(void)
157 {
158 debugf2("MC: " __FILE__ ": %s()\n", __func__);
159 pci_unregister_driver(&sbridge_driver);
160+ atomic_notifier_chain_unregister(&x86_mce_decoder_chain, &sbridge_mce_dec);
161 }
162
163 module_init(sbridge_init);
164--
1651.7.10
166
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0004-hwrng-atmel-rng-fix-data-valid-check.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0004-hwrng-atmel-rng-fix-data-valid-check.patch
new file mode 100644
index 00000000..85105deb
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0004-hwrng-atmel-rng-fix-data-valid-check.patch
@@ -0,0 +1,72 @@
1From 28a0aa72b2ef00a665564ea05846ad22cb3f18ee Mon Sep 17 00:00:00 2001
2From: Peter Korsgaard <jacmet@sunsite.dk>
3Date: Tue, 12 Jun 2012 08:27:04 +0800
4Subject: [PATCH 04/46] hwrng: atmel-rng - fix data valid check
5
6commit c475c06f4bb689d6ad87d7512e036d6dface3160 upstream.
7
8Brown paper bag: Data valid is LSB of the ISR (status register), and NOT
9of ODATA (current random data word)!
10
11With this, rngtest is a lot happier. Before:
12
13rngtest 3
14Copyright (c) 2004 by Henrique de Moraes Holschuh
15This is free software; see the source for copying conditions. There is NO warr.
16
17rngtest: starting FIPS tests...
18rngtest: bits received from input: 20000032
19rngtest: FIPS 140-2 successes: 3
20rngtest: FIPS 140-2 failures: 997
21rngtest: FIPS 140-2(2001-10-10) Monobit: 604
22rngtest: FIPS 140-2(2001-10-10) Poker: 996
23rngtest: FIPS 140-2(2001-10-10) Runs: 36
24rngtest: FIPS 140-2(2001-10-10) Long run: 0
25rngtest: FIPS 140-2(2001-10-10) Continuous run: 117
26rngtest: input channel speed: (min=622.371; avg=23682.481; max=28224.350)Kibitss
27rngtest: FIPS tests speed: (min=12.361; avg=12.718; max=12.861)Mibits/s
28rngtest: Program run time: 2331696 microsecondsx
29
30After:
31rngtest 3
32Copyright (c) 2004 by Henrique de Moraes Holschuh
33This is free software; see the source for copying conditions. There is NO warr.
34
35rngtest: starting FIPS tests...
36rngtest: bits received from input: 20000032
37rngtest: FIPS 140-2 successes: 999
38rngtest: FIPS 140-2 failures: 1
39rngtest: FIPS 140-2(2001-10-10) Monobit: 0
40rngtest: FIPS 140-2(2001-10-10) Poker: 0
41rngtest: FIPS 140-2(2001-10-10) Runs: 1
42rngtest: FIPS 140-2(2001-10-10) Long run: 0
43rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
44rngtest: input channel speed: (min=777.363; avg=43588.270; max=47870.711)Kibitss
45rngtest: FIPS tests speed: (min=11.943; avg=12.716; max=12.844)Mibits/s
46rngtest: Program run time: 1955282 microseconds
47
48Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
49Reported-by: George Pontis <GPontis@z9.com>
50Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
51Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
52Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
53---
54 drivers/char/hw_random/atmel-rng.c | 2 +-
55 1 file changed, 1 insertion(+), 1 deletion(-)
56
57diff --git a/drivers/char/hw_random/atmel-rng.c b/drivers/char/hw_random/atmel-rng.c
58index 0477982..1b5675b 100644
59--- a/drivers/char/hw_random/atmel-rng.c
60+++ b/drivers/char/hw_random/atmel-rng.c
61@@ -34,7 +34,7 @@ static int atmel_trng_read(struct hwrng *rng, void *buf, size_t max,
62 u32 *data = buf;
63
64 /* data ready? */
65- if (readl(trng->base + TRNG_ODATA) & 1) {
66+ if (readl(trng->base + TRNG_ISR) & 1) {
67 *data = readl(trng->base + TRNG_ODATA);
68 /*
69 ensure data ready is only set again AFTER the next data
70--
711.7.10
72
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0005-staging-r8712u-Add-new-USB-IDs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0005-staging-r8712u-Add-new-USB-IDs.patch
new file mode 100644
index 00000000..2bc87d79
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0005-staging-r8712u-Add-new-USB-IDs.patch
@@ -0,0 +1,32 @@
1From 4f4723008a7461c6840e643bc66fcd92bfbf26b3 Mon Sep 17 00:00:00 2001
2From: Lubomir Schmidt <gentoo.lubomir@googlemail.com>
3Date: Fri, 15 Jun 2012 15:12:17 -0500
4Subject: [PATCH 05/46] staging: r8712u: Add new USB IDs
5
6commit 3026b0e942c65c65c8fc80d391d004228b52b916 upstream.
7
8There are two new devices for this driver.
9
10Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
11Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
13---
14 drivers/staging/rtl8712/usb_intf.c | 2 ++
15 1 file changed, 2 insertions(+)
16
17diff --git a/drivers/staging/rtl8712/usb_intf.c b/drivers/staging/rtl8712/usb_intf.c
18index ec41d38..f4b738f 100644
19--- a/drivers/staging/rtl8712/usb_intf.c
20+++ b/drivers/staging/rtl8712/usb_intf.c
21@@ -102,6 +102,8 @@ static struct usb_device_id rtl871x_usb_id_tbl[] = {
22 /* - */
23 {USB_DEVICE(0x20F4, 0x646B)},
24 {USB_DEVICE(0x083A, 0xC512)},
25+ {USB_DEVICE(0x25D4, 0x4CA1)},
26+ {USB_DEVICE(0x25D4, 0x4CAB)},
27
28 /* RTL8191SU */
29 /* Realtek */
30--
311.7.10
32
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0006-hwmon-applesmc-Limit-key-length-in-warning-messages.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0006-hwmon-applesmc-Limit-key-length-in-warning-messages.patch
new file mode 100644
index 00000000..dc75f169
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0006-hwmon-applesmc-Limit-key-length-in-warning-messages.patch
@@ -0,0 +1,43 @@
1From d94e9fcf553861cd10a1780c6aeaa6a4419ba5ce Mon Sep 17 00:00:00 2001
2From: Henrik Rydberg <rydberg@euromail.se>
3Date: Thu, 7 Jun 2012 04:54:29 -0400
4Subject: [PATCH 06/46] hwmon: (applesmc) Limit key length in warning messages
5
6commit ac852edb47b15900886ba2564eeeb13b3b526e3e upstream.
7
8Key lookups may call read_smc() with a fixed-length key string,
9and if the lookup fails, trailing stack content may appear in the
10kernel log. Fixed with this patch.
11
12Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
13Signed-off-by: Guenter Roeck <linux@roeck-us.net>
14Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
15---
16 drivers/hwmon/applesmc.c | 4 ++--
17 1 file changed, 2 insertions(+), 2 deletions(-)
18
19diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
20index 4c07436..d99aa84 100644
21--- a/drivers/hwmon/applesmc.c
22+++ b/drivers/hwmon/applesmc.c
23@@ -215,7 +215,7 @@ static int read_smc(u8 cmd, const char *key, u8 *buffer, u8 len)
24 int i;
25
26 if (send_command(cmd) || send_argument(key)) {
27- pr_warn("%s: read arg fail\n", key);
28+ pr_warn("%.4s: read arg fail\n", key);
29 return -EIO;
30 }
31
32@@ -223,7 +223,7 @@ static int read_smc(u8 cmd, const char *key, u8 *buffer, u8 len)
33
34 for (i = 0; i < len; i++) {
35 if (__wait_status(0x05)) {
36- pr_warn("%s: read data fail\n", key);
37+ pr_warn("%.4s: read data fail\n", key);
38 return -EIO;
39 }
40 buffer[i] = inb(APPLESMC_DATA_PORT);
41--
421.7.10
43
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0007-mm-pmd_read_atomic-fix-32bit-PAE-pmd-walk-vs-pmd_pop.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0007-mm-pmd_read_atomic-fix-32bit-PAE-pmd-walk-vs-pmd_pop.patch
new file mode 100644
index 00000000..9cac18dd
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0007-mm-pmd_read_atomic-fix-32bit-PAE-pmd-walk-vs-pmd_pop.patch
@@ -0,0 +1,218 @@
1From 8bf1709b6925d4e05120bdfed73992d50e7f11bf Mon Sep 17 00:00:00 2001
2From: Andrea Arcangeli <aarcange@redhat.com>
3Date: Tue, 29 May 2012 15:06:49 -0700
4Subject: [PATCH 07/46] mm: pmd_read_atomic: fix 32bit PAE pmd walk vs
5 pmd_populate SMP race condition
6
7commit 26c191788f18129af0eb32a358cdaea0c7479626 upstream.
8
9When holding the mmap_sem for reading, pmd_offset_map_lock should only
10run on a pmd_t that has been read atomically from the pmdp pointer,
11otherwise we may read only half of it leading to this crash.
12
13PID: 11679 TASK: f06e8000 CPU: 3 COMMAND: "do_race_2_panic"
14 #0 [f06a9dd8] crash_kexec at c049b5ec
15 #1 [f06a9e2c] oops_end at c083d1c2
16 #2 [f06a9e40] no_context at c0433ded
17 #3 [f06a9e64] bad_area_nosemaphore at c043401a
18 #4 [f06a9e6c] __do_page_fault at c0434493
19 #5 [f06a9eec] do_page_fault at c083eb45
20 #6 [f06a9f04] error_code (via page_fault) at c083c5d5
21 EAX: 01fb470c EBX: fff35000 ECX: 00000003 EDX: 00000100 EBP:
22 00000000
23 DS: 007b ESI: 9e201000 ES: 007b EDI: 01fb4700 GS: 00e0
24 CS: 0060 EIP: c083bc14 ERR: ffffffff EFLAGS: 00010246
25 #7 [f06a9f38] _spin_lock at c083bc14
26 #8 [f06a9f44] sys_mincore at c0507b7d
27 #9 [f06a9fb0] system_call at c083becd
28 start len
29 EAX: ffffffda EBX: 9e200000 ECX: 00001000 EDX: 6228537f
30 DS: 007b ESI: 00000000 ES: 007b EDI: 003d0f00
31 SS: 007b ESP: 62285354 EBP: 62285388 GS: 0033
32 CS: 0073 EIP: 00291416 ERR: 000000da EFLAGS: 00000286
33
34This should be a longstanding bug affecting x86 32bit PAE without THP.
35Only archs with 64bit large pmd_t and 32bit unsigned long should be
36affected.
37
38With THP enabled the barrier() in pmd_none_or_trans_huge_or_clear_bad()
39would partly hide the bug when the pmd transition from none to stable,
40by forcing a re-read of the *pmd in pmd_offset_map_lock, but when THP is
41enabled a new set of problem arises by the fact could then transition
42freely in any of the none, pmd_trans_huge or pmd_trans_stable states.
43So making the barrier in pmd_none_or_trans_huge_or_clear_bad()
44unconditional isn't good idea and it would be a flakey solution.
45
46This should be fully fixed by introducing a pmd_read_atomic that reads
47the pmd in order with THP disabled, or by reading the pmd atomically
48with cmpxchg8b with THP enabled.
49
50Luckily this new race condition only triggers in the places that must
51already be covered by pmd_none_or_trans_huge_or_clear_bad() so the fix
52is localized there but this bug is not related to THP.
53
54NOTE: this can trigger on x86 32bit systems with PAE enabled with more
55than 4G of ram, otherwise the high part of the pmd will never risk to be
56truncated because it would be zero at all times, in turn so hiding the
57SMP race.
58
59This bug was discovered and fully debugged by Ulrich, quote:
60
61----
62[..]
63pmd_none_or_trans_huge_or_clear_bad() loads the content of edx and
64eax.
65
66 496 static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t
67 *pmd)
68 497 {
69 498 /* depend on compiler for an atomic pmd read */
70 499 pmd_t pmdval = *pmd;
71
72 // edi = pmd pointer
730xc0507a74 <sys_mincore+548>: mov 0x8(%esp),%edi
74...
75 // edx = PTE page table high address
760xc0507a84 <sys_mincore+564>: mov 0x4(%edi),%edx
77...
78 // eax = PTE page table low address
790xc0507a8e <sys_mincore+574>: mov (%edi),%eax
80
81[..]
82
83Please note that the PMD is not read atomically. These are two "mov"
84instructions where the high order bits of the PMD entry are fetched
85first. Hence, the above machine code is prone to the following race.
86
87- The PMD entry {high|low} is 0x0000000000000000.
88 The "mov" at 0xc0507a84 loads 0x00000000 into edx.
89
90- A page fault (on another CPU) sneaks in between the two "mov"
91 instructions and instantiates the PMD.
92
93- The PMD entry {high|low} is now 0x00000003fda38067.
94 The "mov" at 0xc0507a8e loads 0xfda38067 into eax.
95----
96
97Reported-by: Ulrich Obergfell <uobergfe@redhat.com>
98Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
99Cc: Mel Gorman <mgorman@suse.de>
100Cc: Hugh Dickins <hughd@google.com>
101Cc: Larry Woodman <lwoodman@redhat.com>
102Cc: Petr Matousek <pmatouse@redhat.com>
103Cc: Rik van Riel <riel@redhat.com>
104Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
105Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
106Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
107---
108 arch/x86/include/asm/pgtable-3level.h | 50 +++++++++++++++++++++++++++++++++
109 include/asm-generic/pgtable.h | 22 +++++++++++++--
110 2 files changed, 70 insertions(+), 2 deletions(-)
111
112diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h
113index effff47..43876f1 100644
114--- a/arch/x86/include/asm/pgtable-3level.h
115+++ b/arch/x86/include/asm/pgtable-3level.h
116@@ -31,6 +31,56 @@ static inline void native_set_pte(pte_t *ptep, pte_t pte)
117 ptep->pte_low = pte.pte_low;
118 }
119
120+#define pmd_read_atomic pmd_read_atomic
121+/*
122+ * pte_offset_map_lock on 32bit PAE kernels was reading the pmd_t with
123+ * a "*pmdp" dereference done by gcc. Problem is, in certain places
124+ * where pte_offset_map_lock is called, concurrent page faults are
125+ * allowed, if the mmap_sem is hold for reading. An example is mincore
126+ * vs page faults vs MADV_DONTNEED. On the page fault side
127+ * pmd_populate rightfully does a set_64bit, but if we're reading the
128+ * pmd_t with a "*pmdp" on the mincore side, a SMP race can happen
129+ * because gcc will not read the 64bit of the pmd atomically. To fix
130+ * this all places running pmd_offset_map_lock() while holding the
131+ * mmap_sem in read mode, shall read the pmdp pointer using this
132+ * function to know if the pmd is null nor not, and in turn to know if
133+ * they can run pmd_offset_map_lock or pmd_trans_huge or other pmd
134+ * operations.
135+ *
136+ * Without THP if the mmap_sem is hold for reading, the
137+ * pmd can only transition from null to not null while pmd_read_atomic runs.
138+ * So there's no need of literally reading it atomically.
139+ *
140+ * With THP if the mmap_sem is hold for reading, the pmd can become
141+ * THP or null or point to a pte (and in turn become "stable") at any
142+ * time under pmd_read_atomic, so it's mandatory to read it atomically
143+ * with cmpxchg8b.
144+ */
145+#ifndef CONFIG_TRANSPARENT_HUGEPAGE
146+static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
147+{
148+ pmdval_t ret;
149+ u32 *tmp = (u32 *)pmdp;
150+
151+ ret = (pmdval_t) (*tmp);
152+ if (ret) {
153+ /*
154+ * If the low part is null, we must not read the high part
155+ * or we can end up with a partial pmd.
156+ */
157+ smp_rmb();
158+ ret |= ((pmdval_t)*(tmp + 1)) << 32;
159+ }
160+
161+ return (pmd_t) { ret };
162+}
163+#else /* CONFIG_TRANSPARENT_HUGEPAGE */
164+static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
165+{
166+ return (pmd_t) { atomic64_read((atomic64_t *)pmdp) };
167+}
168+#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
169+
170 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte)
171 {
172 set_64bit((unsigned long long *)(ptep), native_pte_val(pte));
173diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
174index a03c098..831924a 100644
175--- a/include/asm-generic/pgtable.h
176+++ b/include/asm-generic/pgtable.h
177@@ -445,6 +445,18 @@ static inline int pmd_write(pmd_t pmd)
178 #endif /* __HAVE_ARCH_PMD_WRITE */
179 #endif /* CONFIG_TRANSPARENT_HUGEPAGE */
180
181+#ifndef pmd_read_atomic
182+static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
183+{
184+ /*
185+ * Depend on compiler for an atomic pmd read. NOTE: this is
186+ * only going to work, if the pmdval_t isn't larger than
187+ * an unsigned long.
188+ */
189+ return *pmdp;
190+}
191+#endif
192+
193 /*
194 * This function is meant to be used by sites walking pagetables with
195 * the mmap_sem hold in read mode to protect against MADV_DONTNEED and
196@@ -458,11 +470,17 @@ static inline int pmd_write(pmd_t pmd)
197 * undefined so behaving like if the pmd was none is safe (because it
198 * can return none anyway). The compiler level barrier() is critically
199 * important to compute the two checks atomically on the same pmdval.
200+ *
201+ * For 32bit kernels with a 64bit large pmd_t this automatically takes
202+ * care of reading the pmd atomically to avoid SMP race conditions
203+ * against pmd_populate() when the mmap_sem is hold for reading by the
204+ * caller (a special atomic read not done by "gcc" as in the generic
205+ * version above, is also needed when THP is disabled because the page
206+ * fault can populate the pmd from under us).
207 */
208 static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t *pmd)
209 {
210- /* depend on compiler for an atomic pmd read */
211- pmd_t pmdval = *pmd;
212+ pmd_t pmdval = pmd_read_atomic(pmd);
213 /*
214 * The barrier will stabilize the pmdval in a register or on
215 * the stack so that it will stop changing under the code.
216--
2171.7.10
218
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0008-thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0008-thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit.patch
new file mode 100644
index 00000000..79be9e0f
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0008-thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit.patch
@@ -0,0 +1,125 @@
1From dcfb4634621189a74522dee4d0dab8b5c1786b02 Mon Sep 17 00:00:00 2001
2From: Andrea Arcangeli <aarcange@redhat.com>
3Date: Wed, 20 Jun 2012 12:52:57 -0700
4Subject: [PATCH 08/46] thp: avoid atomic64_read in pmd_read_atomic for 32bit
5 PAE
6
7commit e4eed03fd06578571c01d4f1478c874bb432c815 upstream.
8
9In the x86 32bit PAE CONFIG_TRANSPARENT_HUGEPAGE=y case while holding the
10mmap_sem for reading, cmpxchg8b cannot be used to read pmd contents under
11Xen.
12
13So instead of dealing only with "consistent" pmdvals in
14pmd_none_or_trans_huge_or_clear_bad() (which would be conceptually
15simpler) we let pmd_none_or_trans_huge_or_clear_bad() deal with pmdvals
16where the low 32bit and high 32bit could be inconsistent (to avoid having
17to use cmpxchg8b).
18
19The only guarantee we get from pmd_read_atomic is that if the low part of
20the pmd was found null, the high part will be null too (so the pmd will be
21considered unstable). And if the low part of the pmd is found "stable"
22later, then it means the whole pmd was read atomically (because after a
23pmd is stable, neither MADV_DONTNEED nor page faults can alter it anymore,
24and we read the high part after the low part).
25
26In the 32bit PAE x86 case, it is enough to read the low part of the pmdval
27atomically to declare the pmd as "stable" and that's true for THP and no
28THP, furthermore in the THP case we also have a barrier() that will
29prevent any inconsistent pmdvals to be cached by a later re-read of the
30*pmd.
31
32Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
33Cc: Jonathan Nieder <jrnieder@gmail.com>
34Cc: Ulrich Obergfell <uobergfe@redhat.com>
35Cc: Mel Gorman <mgorman@suse.de>
36Cc: Hugh Dickins <hughd@google.com>
37Cc: Larry Woodman <lwoodman@redhat.com>
38Cc: Petr Matousek <pmatouse@redhat.com>
39Cc: Rik van Riel <riel@redhat.com>
40Cc: Jan Beulich <jbeulich@suse.com>
41Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
42Tested-by: Andrew Jones <drjones@redhat.com>
43Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
44Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
45Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
46---
47 arch/x86/include/asm/pgtable-3level.h | 30 +++++++++++++++++-------------
48 include/asm-generic/pgtable.h | 10 ++++++++++
49 2 files changed, 27 insertions(+), 13 deletions(-)
50
51diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h
52index 43876f1..cb00ccc 100644
53--- a/arch/x86/include/asm/pgtable-3level.h
54+++ b/arch/x86/include/asm/pgtable-3level.h
55@@ -47,16 +47,26 @@ static inline void native_set_pte(pte_t *ptep, pte_t pte)
56 * they can run pmd_offset_map_lock or pmd_trans_huge or other pmd
57 * operations.
58 *
59- * Without THP if the mmap_sem is hold for reading, the
60- * pmd can only transition from null to not null while pmd_read_atomic runs.
61- * So there's no need of literally reading it atomically.
62+ * Without THP if the mmap_sem is hold for reading, the pmd can only
63+ * transition from null to not null while pmd_read_atomic runs. So
64+ * we can always return atomic pmd values with this function.
65 *
66 * With THP if the mmap_sem is hold for reading, the pmd can become
67- * THP or null or point to a pte (and in turn become "stable") at any
68- * time under pmd_read_atomic, so it's mandatory to read it atomically
69- * with cmpxchg8b.
70+ * trans_huge or none or point to a pte (and in turn become "stable")
71+ * at any time under pmd_read_atomic. We could read it really
72+ * atomically here with a atomic64_read for the THP enabled case (and
73+ * it would be a whole lot simpler), but to avoid using cmpxchg8b we
74+ * only return an atomic pmdval if the low part of the pmdval is later
75+ * found stable (i.e. pointing to a pte). And we're returning a none
76+ * pmdval if the low part of the pmd is none. In some cases the high
77+ * and low part of the pmdval returned may not be consistent if THP is
78+ * enabled (the low part may point to previously mapped hugepage,
79+ * while the high part may point to a more recently mapped hugepage),
80+ * but pmd_none_or_trans_huge_or_clear_bad() only needs the low part
81+ * of the pmd to be read atomically to decide if the pmd is unstable
82+ * or not, with the only exception of when the low part of the pmd is
83+ * zero in which case we return a none pmd.
84 */
85-#ifndef CONFIG_TRANSPARENT_HUGEPAGE
86 static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
87 {
88 pmdval_t ret;
89@@ -74,12 +84,6 @@ static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
90
91 return (pmd_t) { ret };
92 }
93-#else /* CONFIG_TRANSPARENT_HUGEPAGE */
94-static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
95-{
96- return (pmd_t) { atomic64_read((atomic64_t *)pmdp) };
97-}
98-#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
99
100 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte)
101 {
102diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
103index 831924a..bc00876 100644
104--- a/include/asm-generic/pgtable.h
105+++ b/include/asm-generic/pgtable.h
106@@ -484,6 +484,16 @@ static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t *pmd)
107 /*
108 * The barrier will stabilize the pmdval in a register or on
109 * the stack so that it will stop changing under the code.
110+ *
111+ * When CONFIG_TRANSPARENT_HUGEPAGE=y on x86 32bit PAE,
112+ * pmd_read_atomic is allowed to return a not atomic pmdval
113+ * (for example pointing to an hugepage that has never been
114+ * mapped in the pmd). The below checks will only care about
115+ * the low part of the pmd with 32bit PAE x86 anyway, with the
116+ * exception of pmd_none(). So the important thing is that if
117+ * the low part of the pmd is found null, the high part will
118+ * be also null or the pmd_none() check below would be
119+ * confused.
120 */
121 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
122 barrier();
123--
1241.7.10
125
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0009-nilfs2-ensure-proper-cache-clearing-for-gc-inodes.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0009-nilfs2-ensure-proper-cache-clearing-for-gc-inodes.patch
new file mode 100644
index 00000000..4cfe4903
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0009-nilfs2-ensure-proper-cache-clearing-for-gc-inodes.patch
@@ -0,0 +1,71 @@
1From c1a7e61b722c55f0bbbe234d8f16ab19882a0c6b Mon Sep 17 00:00:00 2001
2From: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
3Date: Wed, 20 Jun 2012 12:52:57 -0700
4Subject: [PATCH 09/46] nilfs2: ensure proper cache clearing for gc-inodes
5
6commit fbb24a3a915f105016f1c828476be11aceac8504 upstream.
7
8A gc-inode is a pseudo inode used to buffer the blocks to be moved by
9garbage collection.
10
11Block caches of gc-inodes must be cleared every time a garbage collection
12function (nilfs_clean_segments) completes. Otherwise, stale blocks
13buffered in the caches may be wrongly reused in successive calls of the GC
14function.
15
16For user files, this is not a problem because their gc-inodes are
17distinguished by a checkpoint number as well as an inode number. They
18never buffer different blocks if either an inode number, a checkpoint
19number, or a block offset differs.
20
21However, gc-inodes of sufile, cpfile and DAT file can store different data
22for the same block offset. Thus, the nilfs_clean_segments function can
23move incorrect block for these meta-data files if an old block is cached.
24I found this is really causing meta-data corruption in nilfs.
25
26This fixes the issue by ensuring cache clear of gc-inodes and resolves
27reported GC problems including checkpoint file corruption, b-tree
28corruption, and the following warning during GC.
29
30 nilfs_palloc_freev: entry number 307234 already freed.
31 ...
32
33Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
34Tested-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
35Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
36Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
37Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
38---
39 fs/nilfs2/gcinode.c | 2 ++
40 fs/nilfs2/segment.c | 2 ++
41 2 files changed, 4 insertions(+)
42
43diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c
44index 08a07a2..57ceaf3 100644
45--- a/fs/nilfs2/gcinode.c
46+++ b/fs/nilfs2/gcinode.c
47@@ -191,6 +191,8 @@ void nilfs_remove_all_gcinodes(struct the_nilfs *nilfs)
48 while (!list_empty(head)) {
49 ii = list_first_entry(head, struct nilfs_inode_info, i_dirty);
50 list_del_init(&ii->i_dirty);
51+ truncate_inode_pages(&ii->vfs_inode.i_data, 0);
52+ nilfs_btnode_cache_clear(&ii->i_btnode_cache);
53 iput(&ii->vfs_inode);
54 }
55 }
56diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
57index bb24ab6..6f24e67 100644
58--- a/fs/nilfs2/segment.c
59+++ b/fs/nilfs2/segment.c
60@@ -2309,6 +2309,8 @@ nilfs_remove_written_gcinodes(struct the_nilfs *nilfs, struct list_head *head)
61 if (!test_bit(NILFS_I_UPDATED, &ii->i_state))
62 continue;
63 list_del_init(&ii->i_dirty);
64+ truncate_inode_pages(&ii->vfs_inode.i_data, 0);
65+ nilfs_btnode_cache_clear(&ii->i_btnode_cache);
66 iput(&ii->vfs_inode);
67 }
68 }
69--
701.7.10
71
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0010-drm-i915-Finish-any-pending-operations-on-the-frameb.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0010-drm-i915-Finish-any-pending-operations-on-the-frameb.patch
new file mode 100644
index 00000000..9d0f37e3
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0010-drm-i915-Finish-any-pending-operations-on-the-frameb.patch
@@ -0,0 +1,130 @@
1From 4c0724b407a2c71dbb932d74363e386f798dca61 Mon Sep 17 00:00:00 2001
2From: Chris Wilson <chris@chris-wilson.co.uk>
3Date: Tue, 3 Apr 2012 17:58:35 +0100
4Subject: [PATCH 10/46] drm/i915: Finish any pending operations on the
5 framebuffer before disabling
6
7Similar to the case where we are changing from one framebuffer to
8another, we need to be sure that there are no pending WAIT_FOR_EVENTs on
9the pipe for the current framebuffer before switching. If we disable the
10pipe, and then try to execute a WAIT_FOR_EVENT it will block
11indefinitely and cause a GPU hang.
12
13We attempted to fix this in commit 85345517fe6d4de27b0d6ca19fef9d28ac947c4a
14(drm/i915: Retire any pending operations on the old scanout when switching)
15for the case of mode switching, but this leaves the condition where we
16are switching off the pipe vulnerable.
17
18There still remains the race condition were a display may be unplugged,
19switched off by the core, a uevent sent to notify the DDX and the DDX
20may issue a WAIT_FOR_EVENT before it processes the uevent. This window
21does not exist if the pipe is only switched off in response to the
22uevent. Time to make sure that is so...
23
24Reported-by: Francis Leblanc <Francis.Leblanc-Lebeau@verint.com>
25Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36515
26Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45413
27Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
28Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
29[danvet: fixup spelling in comment, noticed by Eugeni.]
30Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
31(cherry picked from commit 14667a4bde4361b7ac420d68a2e9e9b9b2df5231)
32Signed-off-by: Timo Aaltonen <timo.aaltonen@canonical.com>
33Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
34---
35 drivers/gpu/drm/i915/intel_display.c | 65 ++++++++++++++++++++++++----------
36 1 file changed, 46 insertions(+), 19 deletions(-)
37
38diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
39index 5c1cdb8..6aa7716 100644
40--- a/drivers/gpu/drm/i915/intel_display.c
41+++ b/drivers/gpu/drm/i915/intel_display.c
42@@ -2187,6 +2187,33 @@ intel_pipe_set_base_atomic(struct drm_crtc *crtc, struct drm_framebuffer *fb,
43 }
44
45 static int
46+intel_finish_fb(struct drm_framebuffer *old_fb)
47+{
48+ struct drm_i915_gem_object *obj = to_intel_framebuffer(old_fb)->obj;
49+ struct drm_i915_private *dev_priv = obj->base.dev->dev_private;
50+ bool was_interruptible = dev_priv->mm.interruptible;
51+ int ret;
52+
53+ wait_event(dev_priv->pending_flip_queue,
54+ atomic_read(&dev_priv->mm.wedged) ||
55+ atomic_read(&obj->pending_flip) == 0);
56+
57+ /* Big Hammer, we also need to ensure that any pending
58+ * MI_WAIT_FOR_EVENT inside a user batch buffer on the
59+ * current scanout is retired before unpinning the old
60+ * framebuffer.
61+ *
62+ * This should only fail upon a hung GPU, in which case we
63+ * can safely continue.
64+ */
65+ dev_priv->mm.interruptible = false;
66+ ret = i915_gem_object_finish_gpu(obj);
67+ dev_priv->mm.interruptible = was_interruptible;
68+
69+ return ret;
70+}
71+
72+static int
73 intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
74 struct drm_framebuffer *old_fb)
75 {
76@@ -2224,25 +2251,8 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
77 return ret;
78 }
79
80- if (old_fb) {
81- struct drm_i915_private *dev_priv = dev->dev_private;
82- struct drm_i915_gem_object *obj = to_intel_framebuffer(old_fb)->obj;
83-
84- wait_event(dev_priv->pending_flip_queue,
85- atomic_read(&dev_priv->mm.wedged) ||
86- atomic_read(&obj->pending_flip) == 0);
87-
88- /* Big Hammer, we also need to ensure that any pending
89- * MI_WAIT_FOR_EVENT inside a user batch buffer on the
90- * current scanout is retired before unpinning the old
91- * framebuffer.
92- *
93- * This should only fail upon a hung GPU, in which case we
94- * can safely continue.
95- */
96- ret = i915_gem_object_finish_gpu(obj);
97- (void) ret;
98- }
99+ if (old_fb)
100+ intel_finish_fb(old_fb);
101
102 ret = intel_pipe_set_base_atomic(crtc, crtc->fb, x, y,
103 LEAVE_ATOMIC_MODE_SET);
104@@ -3312,6 +3322,23 @@ static void intel_crtc_disable(struct drm_crtc *crtc)
105 struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private;
106 struct drm_device *dev = crtc->dev;
107
108+ /* Flush any pending WAITs before we disable the pipe. Note that
109+ * we need to drop the struct_mutex in order to acquire it again
110+ * during the lowlevel dpms routines around a couple of the
111+ * operations. It does not look trivial nor desirable to move
112+ * that locking higher. So instead we leave a window for the
113+ * submission of further commands on the fb before we can actually
114+ * disable it. This race with userspace exists anyway, and we can
115+ * only rely on the pipe being disabled by userspace after it
116+ * receives the hotplug notification and has flushed any pending
117+ * batches.
118+ */
119+ if (crtc->fb) {
120+ mutex_lock(&dev->struct_mutex);
121+ intel_finish_fb(crtc->fb);
122+ mutex_unlock(&dev->struct_mutex);
123+ }
124+
125 crtc_funcs->dpms(crtc, DRM_MODE_DPMS_OFF);
126
127 if (crtc->fb) {
128--
1291.7.10
130
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0011-drm-i915-Remove-use-of-the-autoreported-ringbuffer-H.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0011-drm-i915-Remove-use-of-the-autoreported-ringbuffer-H.patch
new file mode 100644
index 00000000..ad69a943
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0011-drm-i915-Remove-use-of-the-autoreported-ringbuffer-H.patch
@@ -0,0 +1,84 @@
1From 7e3ac17c5a78a999c5932d6617f63a6ca7cf91b0 Mon Sep 17 00:00:00 2001
2From: Chris Wilson <chris@chris-wilson.co.uk>
3Date: Wed, 8 Feb 2012 13:34:13 +0000
4Subject: [PATCH 11/46] drm/i915: Remove use of the autoreported ringbuffer
5 HEAD position
6
7This is a revert of 6aa56062eaba67adfb247cded244fd877329588d.
8
9This was originally introduced to workaround reads of the ringbuffer
10registers returning 0 on SandyBridge causing hangs due to ringbuffer
11overflow. The root cause here was reads through the GT powerwell require
12the forcewake dance, something we only learnt of later. Now it appears
13that reading the reported head position from the HWS is returning
14garbage, leading once again to hangs.
15
16For example, on q35 the autoreported head reports:
17 [ 217.975608] head now 00010000, actual 00010000
18 [ 436.725613] head now 00200000, actual 00200000
19 [ 462.956033] head now 00210000, actual 00210010
20 [ 485.501409] head now 00400000, actual 00400020
21 [ 508.064280] head now 00410000, actual 00410000
22 [ 530.576078] head now 00600000, actual 00600020
23 [ 553.273489] head now 00610000, actual 00610018
24which appears reasonably sane. In contrast, if we look at snb:
25 [ 141.970680] head now 00e10000, actual 00008238
26 [ 141.974062] head now 02734000, actual 000083c8
27 [ 141.974425] head now 00e10000, actual 00008488
28 [ 141.980374] head now 032b5000, actual 000088b8
29 [ 141.980885] head now 03271000, actual 00008950
30 [ 142.040628] head now 02101000, actual 00008b40
31 [ 142.180173] head now 02734000, actual 00009050
32 [ 142.181090] head now 00000000, actual 00000ae0
33 [ 142.183737] head now 02734000, actual 00009050
34
35In addition, the automatic reporting of the head position is scheduled
36to be defeatured in the future. It has no more utility, remove it.
37
38Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45492
39Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
40Tested-by: Eric Anholt <eric@anholt.net>
41Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
42Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
43(cherry picked from commit 5d031e5b633d910f35e6e0abce94d9d842390006)
44Signed-off-by: Timo Aaltonen <timo.aaltonen@canonical.com>
45Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
46---
47 drivers/gpu/drm/i915/intel_ringbuffer.c | 14 +-------------
48 1 file changed, 1 insertion(+), 13 deletions(-)
49
50diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
51index 933e66b..f6613dc 100644
52--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
53+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
54@@ -306,7 +306,7 @@ static int init_ring_common(struct intel_ring_buffer *ring)
55
56 I915_WRITE_CTL(ring,
57 ((ring->size - PAGE_SIZE) & RING_NR_PAGES)
58- | RING_REPORT_64K | RING_VALID);
59+ | RING_VALID);
60
61 /* If the head is still not zero, the ring is dead */
62 if ((I915_READ_CTL(ring) & RING_VALID) == 0 ||
63@@ -1157,18 +1157,6 @@ int intel_wait_ring_buffer(struct intel_ring_buffer *ring, int n)
64 struct drm_device *dev = ring->dev;
65 struct drm_i915_private *dev_priv = dev->dev_private;
66 unsigned long end;
67- u32 head;
68-
69- /* If the reported head position has wrapped or hasn't advanced,
70- * fallback to the slow and accurate path.
71- */
72- head = intel_read_status_page(ring, 4);
73- if (head > ring->head) {
74- ring->head = head;
75- ring->space = ring_space(ring);
76- if (ring->space >= n)
77- return 0;
78- }
79
80 trace_i915_ring_wait_begin(ring);
81 end = jiffies + 3 * HZ;
82--
831.7.10
84
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0012-e1000e-Disable-ASPM-L1-on-82574.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0012-e1000e-Disable-ASPM-L1-on-82574.patch
new file mode 100644
index 00000000..b47746dc
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0012-e1000e-Disable-ASPM-L1-on-82574.patch
@@ -0,0 +1,41 @@
1From 7bc45fa1ef48339e44c48d53e0cdb9d0d4e33d43 Mon Sep 17 00:00:00 2001
2From: Chris Boot <bootc@bootc.net>
3Date: Tue, 24 Apr 2012 07:24:52 +0000
4Subject: [PATCH 12/46] e1000e: Disable ASPM L1 on 82574
5
6commit id d4a4206ebbaf48b55803a7eb34e330530d83a889
7
8ASPM on the 82574 causes trouble. Currently the driver disables L0s for
9this NIC but only disables L1 if the MTU is >1500. This patch simply
10causes L1 to be disabled regardless of the MTU setting.
11
12Signed-off-by: Chris Boot <bootc@bootc.net>
13Cc: "Wyborny, Carolyn" <carolyn.wyborny@intel.com>
14Cc: Nix <nix@esperi.org.uk>
15Link: https://lkml.org/lkml/2012/3/19/362
16Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
17[Jeff Kirsher: Backport to 3.2-3.4 kernels]
18Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
19Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
20---
21 drivers/net/ethernet/intel/e1000e/82571.c | 3 ++-
22 1 file changed, 2 insertions(+), 1 deletion(-)
23
24diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c
25index a3e65fd..e556fc3 100644
26--- a/drivers/net/ethernet/intel/e1000e/82571.c
27+++ b/drivers/net/ethernet/intel/e1000e/82571.c
28@@ -2080,8 +2080,9 @@ const struct e1000_info e1000_82574_info = {
29 | FLAG_HAS_SMART_POWER_DOWN
30 | FLAG_HAS_AMT
31 | FLAG_HAS_CTRLEXT_ON_LOAD,
32- .flags2 = FLAG2_CHECK_PHY_HANG
33+ .flags2 = FLAG2_CHECK_PHY_HANG
34 | FLAG2_DISABLE_ASPM_L0S
35+ | FLAG2_DISABLE_ASPM_L1
36 | FLAG2_NO_DISABLE_RX,
37 .pba = 32,
38 .max_hw_frame_size = DEFAULT_JUMBO,
39--
401.7.10
41
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0013-e1000e-Remove-special-case-for-82573-82574-ASPM-L1-d.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0013-e1000e-Remove-special-case-for-82573-82574-ASPM-L1-d.patch
new file mode 100644
index 00000000..3eeacc05
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0013-e1000e-Remove-special-case-for-82573-82574-ASPM-L1-d.patch
@@ -0,0 +1,43 @@
1From 51d8e7091033042d3ae09363abe5e93d0698930e Mon Sep 17 00:00:00 2001
2From: Chris Boot <bootc@bootc.net>
3Date: Tue, 24 Apr 2012 07:24:58 +0000
4Subject: [PATCH 13/46] e1000e: Remove special case for 82573/82574 ASPM L1
5 disablement
6
7commit 59aed95263bdd0e2b48eb9be5a94346d2d4abf90 upstream.
8
9For the 82573, ASPM L1 gets disabled wholesale so this special-case code
10is not required. For the 82574 the previous patch does the same as for
11the 82573, disabling L1 on the adapter. Thus, this code is no longer
12required and can be removed.
13
14Signed-off-by: Chris Boot <bootc@bootc.net>
15Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
16Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
17Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
18---
19 drivers/net/ethernet/intel/e1000e/netdev.c | 8 --------
20 1 file changed, 8 deletions(-)
21
22diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
23index 4e933d1..64d3f98 100644
24--- a/drivers/net/ethernet/intel/e1000e/netdev.c
25+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
26@@ -5132,14 +5132,6 @@ static int e1000_change_mtu(struct net_device *netdev, int new_mtu)
27 return -EINVAL;
28 }
29
30- /* 82573 Errata 17 */
31- if (((adapter->hw.mac.type == e1000_82573) ||
32- (adapter->hw.mac.type == e1000_82574)) &&
33- (max_frame > ETH_FRAME_LEN + ETH_FCS_LEN)) {
34- adapter->flags2 |= FLAG2_DISABLE_ASPM_L1;
35- e1000e_disable_aspm(adapter->pdev, PCIE_LINK_STATE_L1);
36- }
37-
38 while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
39 usleep_range(1000, 2000);
40 /* e1000e_down -> e1000e_reset dependent on max_frame_size & mtu */
41--
421.7.10
43
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0014-drm-i915-Do-the-fallback-non-IRQ-wait-in-ring-thrott.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0014-drm-i915-Do-the-fallback-non-IRQ-wait-in-ring-thrott.patch
new file mode 100644
index 00000000..3601ef45
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0014-drm-i915-Do-the-fallback-non-IRQ-wait-in-ring-thrott.patch
@@ -0,0 +1,39 @@
1From f00febe1475d06993b3f723ece375388dcf3bb9b Mon Sep 17 00:00:00 2001
2From: Eric Anholt <eric@anholt.net>
3Date: Thu, 22 Dec 2011 14:54:59 -0800
4Subject: [PATCH 14/46] drm/i915: Do the fallback non-IRQ wait in ring
5 throttle, too.
6
7commit 7ea29b13e5e3e1e61e612349eb0366efdb6457f3 upstream.
8
9As a workaround for IRQ synchronization issues in the gen7 BLT ring,
10we want to turn the two wait functions into polling loops.
11
12Signed-off-by: Eric Anholt <eric@anholt.net>
13Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
14Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
15Acked-by: Kenneth Graunke <kenneth@whitecape.org>
16Signed-off-by: Keith Packard <keithp@keithp.com>
17Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
18---
19 drivers/gpu/drm/i915/i915_gem.c | 4 ++++
20 1 file changed, 4 insertions(+)
21
22diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
23index 3e7c478..3e2edc6 100644
24--- a/drivers/gpu/drm/i915/i915_gem.c
25+++ b/drivers/gpu/drm/i915/i915_gem.c
26@@ -3312,6 +3312,10 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file)
27
28 if (ret == 0 && atomic_read(&dev_priv->mm.wedged))
29 ret = -EIO;
30+ } else if (wait_for(i915_seqno_passed(ring->get_seqno(ring),
31+ seqno) ||
32+ atomic_read(&dev_priv->mm.wedged), 3000)) {
33+ ret = -EBUSY;
34 }
35 }
36
37--
381.7.10
39
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0015-staging-rts_pstor-Fix-possible-panic-by-NULL-pointer.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0015-staging-rts_pstor-Fix-possible-panic-by-NULL-pointer.patch
new file mode 100644
index 00000000..bfe82b66
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0015-staging-rts_pstor-Fix-possible-panic-by-NULL-pointer.patch
@@ -0,0 +1,72 @@
1From 1c17511004913ab88dd06ac7df912125a97ea2c3 Mon Sep 17 00:00:00 2001
2From: wwang <wei_wang@realsil.com.cn>
3Date: Tue, 27 Mar 2012 16:43:11 +0800
4Subject: [PATCH 15/46] staging:rts_pstor:Fix possible panic by NULL pointer
5 dereference
6
7commit 0d05568ac79bfc595f1eadc3e0fd7a20a45f7b69 upstream.
8
9rtsx_transport.c (rtsx_transfer_sglist_adma_partial):
10pointer struct scatterlist *sg, which is mapped in dma_map_sg,
11is used as an iterator in later transfer operation. It is corrupted and
12passed to dma_unmap_sg, thus causing fatal unmap of some erroneous address.
13Fix it by duplicating *sg_ptr for iterating.
14
15Signed-off-by: wwang <wei_wang@realsil.com.cn>
16Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
17Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
18---
19 drivers/staging/rts_pstor/rtsx_transport.c | 11 ++++++-----
20 1 file changed, 6 insertions(+), 5 deletions(-)
21
22diff --git a/drivers/staging/rts_pstor/rtsx_transport.c b/drivers/staging/rts_pstor/rtsx_transport.c
23index 4e3d2c1..9b2e5c9 100644
24--- a/drivers/staging/rts_pstor/rtsx_transport.c
25+++ b/drivers/staging/rts_pstor/rtsx_transport.c
26@@ -335,6 +335,7 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card,
27 int sg_cnt, i, resid;
28 int err = 0;
29 long timeleft;
30+ struct scatterlist *sg_ptr;
31 u32 val = TRIG_DMA;
32
33 if ((sg == NULL) || (num_sg <= 0) || !offset || !index)
34@@ -371,7 +372,7 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card,
35 sg_cnt = dma_map_sg(&(rtsx->pci->dev), sg, num_sg, dma_dir);
36
37 resid = size;
38-
39+ sg_ptr = sg;
40 chip->sgi = 0;
41 /* Usually the next entry will be @sg@ + 1, but if this sg element
42 * is part of a chained scatterlist, it could jump to the start of
43@@ -379,14 +380,14 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card,
44 * the proper sg
45 */
46 for (i = 0; i < *index; i++)
47- sg = sg_next(sg);
48+ sg_ptr = sg_next(sg_ptr);
49 for (i = *index; i < sg_cnt; i++) {
50 dma_addr_t addr;
51 unsigned int len;
52 u8 option;
53
54- addr = sg_dma_address(sg);
55- len = sg_dma_len(sg);
56+ addr = sg_dma_address(sg_ptr);
57+ len = sg_dma_len(sg_ptr);
58
59 RTSX_DEBUGP("DMA addr: 0x%x, Len: 0x%x\n",
60 (unsigned int)addr, len);
61@@ -415,7 +416,7 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card,
62 if (!resid)
63 break;
64
65- sg = sg_next(sg);
66+ sg_ptr = sg_next(sg_ptr);
67 }
68
69 RTSX_DEBUGP("SG table count = %d\n", chip->sgi);
70--
711.7.10
72
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0016-gspca-core-Fix-buffers-staying-in-queued-state-after.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0016-gspca-core-Fix-buffers-staying-in-queued-state-after.patch
new file mode 100644
index 00000000..152c0d51
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0016-gspca-core-Fix-buffers-staying-in-queued-state-after.patch
@@ -0,0 +1,45 @@
1From f9f47b15a0eb3d8ae86f5d034fd8924ab258a4d2 Mon Sep 17 00:00:00 2001
2From: Hans de Goede <hdegoede@redhat.com>
3Date: Tue, 22 May 2012 11:24:05 -0300
4Subject: [PATCH 16/46] gspca-core: Fix buffers staying in queued state after
5 a stream_off
6
7commit af05ef01e9cde84620c6855a8d8ab9c8a1db9009 upstream.
8
9This fixes a regression introduced by commit f7059ea and should be
10backported to all supported stable kernels which have this commit.
11
12Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13Tested-by: Antonio Ospite <ospite@studenti.unina.it>
14Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15[bwh: Backported to 3.2: adjust context]
16Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
17---
18 drivers/media/video/gspca/gspca.c | 4 +++-
19 1 file changed, 3 insertions(+), 1 deletion(-)
20
21diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c
22index 2ca10df..981501f 100644
23--- a/drivers/media/video/gspca/gspca.c
24+++ b/drivers/media/video/gspca/gspca.c
25@@ -1697,7 +1697,7 @@ static int vidioc_streamoff(struct file *file, void *priv,
26 enum v4l2_buf_type buf_type)
27 {
28 struct gspca_dev *gspca_dev = priv;
29- int ret;
30+ int i, ret;
31
32 if (buf_type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
33 return -EINVAL;
34@@ -1728,6 +1728,8 @@ static int vidioc_streamoff(struct file *file, void *priv,
35 wake_up_interruptible(&gspca_dev->wq);
36
37 /* empty the transfer queues */
38+ for (i = 0; i < gspca_dev->nframes; i++)
39+ gspca_dev->frame[i].v4l2_buf.flags &= ~BUF_ALL_FLAGS;
40 atomic_set(&gspca_dev->fr_q, 0);
41 atomic_set(&gspca_dev->fr_i, 0);
42 gspca_dev->fr_o = 0;
43--
441.7.10
45
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0017-smsusb-add-autodetection-support-for-USB-ID-2040-f5a.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0017-smsusb-add-autodetection-support-for-USB-ID-2040-f5a.patch
new file mode 100644
index 00000000..84e2eb96
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0017-smsusb-add-autodetection-support-for-USB-ID-2040-f5a.patch
@@ -0,0 +1,30 @@
1From ac5a4cc2f5d46f744484e577f41441acdbb0a68b Mon Sep 17 00:00:00 2001
2From: Michael Krufky <mkrufky@linuxtv.org>
3Date: Fri, 25 May 2012 09:29:12 -0300
4Subject: [PATCH 17/46] smsusb: add autodetection support for USB ID 2040:f5a0
5
6commit 3e1141e2ce5667301a74ca2ef396d9bd5e995f7f upstream.
7
8Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
9Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
10Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
11---
12 drivers/media/dvb/siano/smsusb.c | 2 ++
13 1 file changed, 2 insertions(+)
14
15diff --git a/drivers/media/dvb/siano/smsusb.c b/drivers/media/dvb/siano/smsusb.c
16index b7d1e3e..fb68805 100644
17--- a/drivers/media/dvb/siano/smsusb.c
18+++ b/drivers/media/dvb/siano/smsusb.c
19@@ -544,6 +544,8 @@ static const struct usb_device_id smsusb_id_table[] __devinitconst = {
20 .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
21 { USB_DEVICE(0x2040, 0xc0a0),
22 .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
23+ { USB_DEVICE(0x2040, 0xf5a0),
24+ .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
25 { } /* Terminating entry */
26 };
27
28--
291.7.10
30
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0018-drm-edid-don-t-return-stack-garbage-from-supports_rb.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0018-drm-edid-don-t-return-stack-garbage-from-supports_rb.patch
new file mode 100644
index 00000000..87ce7d91
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0018-drm-edid-don-t-return-stack-garbage-from-supports_rb.patch
@@ -0,0 +1,36 @@
1From 2d6a30faab149fe943e5648ef8ed9a6de7c112b1 Mon Sep 17 00:00:00 2001
2From: Daniel Vetter <daniel.vetter@ffwll.ch>
3Date: Tue, 19 Jun 2012 11:33:06 +0200
4Subject: [PATCH 18/46] drm/edid: don't return stack garbage from supports_rb
5
6commit b196a4980ff7bb54db478e2a408dc8b12be15304 upstream.
7
8We need to initialize this to false, because the is_rb callback only
9ever sets it to true.
10
11Noticed while reading through the code.
12
13Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
14Reviewed-by: Adam Jackson <ajax@redhat.com>
15Signed-off-by: Dave Airlie <airlied@redhat.com>
16Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
17---
18 drivers/gpu/drm/drm_edid.c | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
22index 3e927ce..a1ee634 100644
23--- a/drivers/gpu/drm/drm_edid.c
24+++ b/drivers/gpu/drm/drm_edid.c
25@@ -585,7 +585,7 @@ static bool
26 drm_monitor_supports_rb(struct edid *edid)
27 {
28 if (edid->revision >= 4) {
29- bool ret;
30+ bool ret = false;
31 drm_for_each_detailed_block((u8 *)edid, is_rb, &ret);
32 return ret;
33 }
34--
351.7.10
36
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0019-drm-nouveau-fbcon-using-nv_two_heads-is-not-a-good-i.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0019-drm-nouveau-fbcon-using-nv_two_heads-is-not-a-good-i.patch
new file mode 100644
index 00000000..85deab49
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0019-drm-nouveau-fbcon-using-nv_two_heads-is-not-a-good-i.patch
@@ -0,0 +1,43 @@
1From 94823f5367fcb795a9e2d263b23c600ffa1b465f Mon Sep 17 00:00:00 2001
2From: Ben Skeggs <bskeggs@redhat.com>
3Date: Tue, 26 Jun 2012 12:12:30 +1000
4Subject: [PATCH 19/46] drm/nouveau/fbcon: using nv_two_heads is not a good
5 idea
6
7commit 9bd0c15fcfb42f6245447c53347d65ad9e72080b upstream.
8
9nv_two_heads() was never meant to be used outside of pre-nv50 code. The
10code checks for >= NV_10 for 2 CRTCs, then downgrades a few specific
11chipsets to 1 CRTC based on (pci_device & 0x0ff0).
12
13The breakage example seen is on GTX 560Ti, with a pciid of 0x1200, which
14gets detected as an NV20 (0x020x) with 1 CRTC by nv_two_heads(), causing
15memory corruption because there's actually 2 CRTCs..
16
17This switches fbcon to use the CRTC count directly from the mode_config
18structure, which will also fix the same issue on Kepler boards which have
194 CRTCs.
20
21Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
22Signed-off-by: Dave Airlie <airlied@redhat.com>
23Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
24---
25 drivers/gpu/drm/nouveau/nouveau_fbcon.c | 2 +-
26 1 file changed, 1 insertion(+), 1 deletion(-)
27
28diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
29index 3a4cc32..cc0801d 100644
30--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
31+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
32@@ -499,7 +499,7 @@ int nouveau_fbcon_init(struct drm_device *dev)
33 nfbdev->helper.funcs = &nouveau_fbcon_helper_funcs;
34
35 ret = drm_fb_helper_init(dev, &nfbdev->helper,
36- nv_two_heads(dev) ? 2 : 1, 4);
37+ dev->mode_config.num_crtc, 4);
38 if (ret) {
39 kfree(nfbdev);
40 return ret;
41--
421.7.10
43
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0020-dm-thin-reinstate-missing-mempool_free-in-cell_relea.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0020-dm-thin-reinstate-missing-mempool_free-in-cell_relea.patch
new file mode 100644
index 00000000..725aa129
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0020-dm-thin-reinstate-missing-mempool_free-in-cell_relea.patch
@@ -0,0 +1,55 @@
1From 41466ed94cbd995e8553e3f6bd76b698cdb398ab Mon Sep 17 00:00:00 2001
2From: Mike Snitzer <snitzer@redhat.com>
3Date: Sat, 12 May 2012 01:43:12 +0100
4Subject: [PATCH 20/46] dm thin: reinstate missing mempool_free in
5 cell_release_singleton
6
7commit 03aaae7cdc71bc306888440b1f569d463e917b6d upstream.
8
9Fix a significant memory leak inadvertently introduced during
10simplification of cell_release_singleton() in commit
116f94a4c45a6f744383f9f695dde019998db3df55 ("dm thin: fix stacked bi_next
12usage").
13
14A cell's hlist_del() must be accompanied by a mempool_free().
15Use __cell_release() to do this, like before.
16
17Signed-off-by: Mike Snitzer <snitzer@redhat.com>
18Signed-off-by: Alasdair G Kergon <agk@redhat.com>
19Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
20---
21 drivers/md/dm-thin.c | 9 ++++++---
22 1 file changed, 6 insertions(+), 3 deletions(-)
23
24diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
25index da2f021..532a902 100644
26--- a/drivers/md/dm-thin.c
27+++ b/drivers/md/dm-thin.c
28@@ -288,8 +288,10 @@ static void __cell_release(struct cell *cell, struct bio_list *inmates)
29
30 hlist_del(&cell->list);
31
32- bio_list_add(inmates, cell->holder);
33- bio_list_merge(inmates, &cell->bios);
34+ if (inmates) {
35+ bio_list_add(inmates, cell->holder);
36+ bio_list_merge(inmates, &cell->bios);
37+ }
38
39 mempool_free(cell, prison->cell_pool);
40 }
41@@ -312,9 +314,10 @@ static void cell_release(struct cell *cell, struct bio_list *bios)
42 */
43 static void __cell_release_singleton(struct cell *cell, struct bio *bio)
44 {
45- hlist_del(&cell->list);
46 BUG_ON(cell->holder != bio);
47 BUG_ON(!bio_list_empty(&cell->bios));
48+
49+ __cell_release(cell, NULL);
50 }
51
52 static void cell_release_singleton(struct cell *cell, struct bio *bio)
53--
541.7.10
55
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0021-ath9k-Fix-a-WARNING-on-suspend-resume-with-IBSS.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0021-ath9k-Fix-a-WARNING-on-suspend-resume-with-IBSS.patch
new file mode 100644
index 00000000..a3917dca
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0021-ath9k-Fix-a-WARNING-on-suspend-resume-with-IBSS.patch
@@ -0,0 +1,75 @@
1From 5bd15d249215ca79b080b366616c0a5f1c38904c Mon Sep 17 00:00:00 2001
2From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
3Date: Wed, 6 Jun 2012 10:33:10 +0530
4Subject: [PATCH 21/46] ath9k: Fix a WARNING on suspend/resume with IBSS
5
6commit 2031b4c2b4904f7448ab9e4bc6b9bf16e32709f5 upstream.
7
8this patch is dependent on the patch "cfg80211: fix interface
9combinations"
10
11In ath9k currently we have ADHOC interface as a single incompatible
12interface. when drv_add_interface is called during resume we got to
13consider number of vifs already present in addition to checking the
14drivers 'opmode' information about ADHOC. we incorrectly assume
15an ADHOC interface is already present. Then we may miss some driver
16specific data for the ADHOC interface after resume.
17
18The above mentioned checks can be removed from the driver,
19as the patch 'cfg80211: fix interface combinations' ensures that
20if an interface type is not advertised by the driver in any of the
21interface combinations(via ieee80211_iface_combination) then it shall
22be treated as a single incompatible interface. Fixes the following
23warning on suspend/resume with ibss interface.
24
25 ath: phy0: Cannot create ADHOC interface when other
26 interfaces already exist.
27 WARNING: at net/mac80211/driver-ops.h:12
28 ieee80211_reconfig+0x1882/0x1ca0 [mac80211]()
29 Hardware name: 2842RK1
30 wlan2: Failed check-sdata-in-driver check, flags: 0x0
31
32 Call Trace:
33 [<c01361b2>] warn_slowpath_common+0x72/0xa0
34 [<f8aaa7c2>] ? ieee80211_reconfig+0x1882/0x1ca0
35 [mac80211]
36 [<f8aaa7c2>] ? ieee80211_reconfig+0x1882/0x1ca0
37 [mac80211]
38 [<c0136283>] warn_slowpath_fmt+0x33/0x40
39 [<f8aaa7c2>] ieee80211_reconfig+0x1882/0x1ca0 [mac80211]
40 [<c06c1d1a>] ? mutex_lock_nested+0x23a/0x2f0
41 [<f8a95097>] ieee80211_resume+0x27/0x70 [mac80211]
42 [<fd177edf>] wiphy_resume+0x8f/0xa0 [cfg80211]
43
44Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
45Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
46Signed-off-by: John W. Linville <linville@tuxdriver.com>
47[bwh: Backported to 3.2: adjust context]
48Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
49---
50 drivers/net/wireless/ath/ath9k/main.c | 9 ---------
51 1 file changed, 9 deletions(-)
52
53diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
54index f76a814..5b22ecd 100644
55--- a/drivers/net/wireless/ath/ath9k/main.c
56+++ b/drivers/net/wireless/ath/ath9k/main.c
57@@ -1486,15 +1486,6 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
58 }
59 }
60
61- if ((ah->opmode == NL80211_IFTYPE_ADHOC) ||
62- ((vif->type == NL80211_IFTYPE_ADHOC) &&
63- sc->nvifs > 0)) {
64- ath_err(common, "Cannot create ADHOC interface when other"
65- " interfaces already exist.\n");
66- ret = -EINVAL;
67- goto out;
68- }
69-
70 ath_dbg(common, ATH_DBG_CONFIG,
71 "Attach a VIF of type: %d\n", vif->type);
72
73--
741.7.10
75
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0022-cfg80211-fix-potential-deadlock-in-regulatory.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0022-cfg80211-fix-potential-deadlock-in-regulatory.patch
new file mode 100644
index 00000000..fe1bc4b2
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0022-cfg80211-fix-potential-deadlock-in-regulatory.patch
@@ -0,0 +1,144 @@
1From 76f7c2172698cade04f33c7f8841b641c95ddeda Mon Sep 17 00:00:00 2001
2From: Eliad Peller <eliad@wizery.com>
3Date: Tue, 12 Jun 2012 12:53:13 +0300
4Subject: [PATCH 22/46] cfg80211: fix potential deadlock in regulatory
5
6commit fe20b39ec32e975f1054c0b7866c873a954adf05 upstream.
7
8reg_timeout_work() calls restore_regulatory_settings() which
9takes cfg80211_mutex.
10
11reg_set_request_processed() already holds cfg80211_mutex
12before calling cancel_delayed_work_sync(reg_timeout),
13so it might deadlock.
14
15Call the async cancel_delayed_work instead, in order
16to avoid the potential deadlock.
17
18This is the relevant lockdep warning:
19
20cfg80211: Calling CRDA for country: XX
21
22======================================================
23[ INFO: possible circular locking dependency detected ]
243.4.0-rc5-wl+ #26 Not tainted
25-------------------------------------------------------
26kworker/0:2/1391 is trying to acquire lock:
27 (cfg80211_mutex){+.+.+.}, at: [<bf28ae00>] restore_regulatory_settings+0x34/0x418 [cfg80211]
28
29but task is already holding lock:
30 ((reg_timeout).work){+.+...}, at: [<c0059e94>] process_one_work+0x1f0/0x480
31
32which lock already depends on the new lock.
33
34the existing dependency chain (in reverse order) is:
35
36-> #2 ((reg_timeout).work){+.+...}:
37 [<c008fd44>] validate_chain+0xb94/0x10f0
38 [<c0090b68>] __lock_acquire+0x8c8/0x9b0
39 [<c0090d40>] lock_acquire+0xf0/0x114
40 [<c005b600>] wait_on_work+0x4c/0x154
41 [<c005c000>] __cancel_work_timer+0xd4/0x11c
42 [<c005c064>] cancel_delayed_work_sync+0x1c/0x20
43 [<bf28b274>] reg_set_request_processed+0x50/0x78 [cfg80211]
44 [<bf28bd84>] set_regdom+0x550/0x600 [cfg80211]
45 [<bf294cd8>] nl80211_set_reg+0x218/0x258 [cfg80211]
46 [<c03c7738>] genl_rcv_msg+0x1a8/0x1e8
47 [<c03c6a00>] netlink_rcv_skb+0x5c/0xc0
48 [<c03c7584>] genl_rcv+0x28/0x34
49 [<c03c6720>] netlink_unicast+0x15c/0x228
50 [<c03c6c7c>] netlink_sendmsg+0x218/0x298
51 [<c03933c8>] sock_sendmsg+0xa4/0xc0
52 [<c039406c>] __sys_sendmsg+0x1e4/0x268
53 [<c0394228>] sys_sendmsg+0x4c/0x70
54 [<c0013840>] ret_fast_syscall+0x0/0x3c
55
56-> #1 (reg_mutex){+.+.+.}:
57 [<c008fd44>] validate_chain+0xb94/0x10f0
58 [<c0090b68>] __lock_acquire+0x8c8/0x9b0
59 [<c0090d40>] lock_acquire+0xf0/0x114
60 [<c04734dc>] mutex_lock_nested+0x48/0x320
61 [<bf28b2cc>] reg_todo+0x30/0x538 [cfg80211]
62 [<c0059f44>] process_one_work+0x2a0/0x480
63 [<c005a4b4>] worker_thread+0x1bc/0x2bc
64 [<c0061148>] kthread+0x98/0xa4
65 [<c0014af4>] kernel_thread_exit+0x0/0x8
66
67-> #0 (cfg80211_mutex){+.+.+.}:
68 [<c008ed58>] print_circular_bug+0x68/0x2cc
69 [<c008fb28>] validate_chain+0x978/0x10f0
70 [<c0090b68>] __lock_acquire+0x8c8/0x9b0
71 [<c0090d40>] lock_acquire+0xf0/0x114
72 [<c04734dc>] mutex_lock_nested+0x48/0x320
73 [<bf28ae00>] restore_regulatory_settings+0x34/0x418 [cfg80211]
74 [<bf28b200>] reg_timeout_work+0x1c/0x20 [cfg80211]
75 [<c0059f44>] process_one_work+0x2a0/0x480
76 [<c005a4b4>] worker_thread+0x1bc/0x2bc
77 [<c0061148>] kthread+0x98/0xa4
78 [<c0014af4>] kernel_thread_exit+0x0/0x8
79
80other info that might help us debug this:
81
82Chain exists of:
83 cfg80211_mutex --> reg_mutex --> (reg_timeout).work
84
85 Possible unsafe locking scenario:
86
87 CPU0 CPU1
88 ---- ----
89 lock((reg_timeout).work);
90 lock(reg_mutex);
91 lock((reg_timeout).work);
92 lock(cfg80211_mutex);
93
94 *** DEADLOCK ***
95
962 locks held by kworker/0:2/1391:
97 #0: (events){.+.+.+}, at: [<c0059e94>] process_one_work+0x1f0/0x480
98 #1: ((reg_timeout).work){+.+...}, at: [<c0059e94>] process_one_work+0x1f0/0x480
99
100stack backtrace:
101[<c001b928>] (unwind_backtrace+0x0/0x12c) from [<c0471d3c>] (dump_stack+0x20/0x24)
102[<c0471d3c>] (dump_stack+0x20/0x24) from [<c008ef70>] (print_circular_bug+0x280/0x2cc)
103[<c008ef70>] (print_circular_bug+0x280/0x2cc) from [<c008fb28>] (validate_chain+0x978/0x10f0)
104[<c008fb28>] (validate_chain+0x978/0x10f0) from [<c0090b68>] (__lock_acquire+0x8c8/0x9b0)
105[<c0090b68>] (__lock_acquire+0x8c8/0x9b0) from [<c0090d40>] (lock_acquire+0xf0/0x114)
106[<c0090d40>] (lock_acquire+0xf0/0x114) from [<c04734dc>] (mutex_lock_nested+0x48/0x320)
107[<c04734dc>] (mutex_lock_nested+0x48/0x320) from [<bf28ae00>] (restore_regulatory_settings+0x34/0x418 [cfg80211])
108[<bf28ae00>] (restore_regulatory_settings+0x34/0x418 [cfg80211]) from [<bf28b200>] (reg_timeout_work+0x1c/0x20 [cfg80211])
109[<bf28b200>] (reg_timeout_work+0x1c/0x20 [cfg80211]) from [<c0059f44>] (process_one_work+0x2a0/0x480)
110[<c0059f44>] (process_one_work+0x2a0/0x480) from [<c005a4b4>] (worker_thread+0x1bc/0x2bc)
111[<c005a4b4>] (worker_thread+0x1bc/0x2bc) from [<c0061148>] (kthread+0x98/0xa4)
112[<c0061148>] (kthread+0x98/0xa4) from [<c0014af4>] (kernel_thread_exit+0x0/0x8)
113cfg80211: Calling CRDA to update world regulatory domain
114cfg80211: World regulatory domain updated:
115cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
116cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
117cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
118cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
119cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
120cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
121
122Signed-off-by: Eliad Peller <eliad@wizery.com>
123Signed-off-by: Johannes Berg <johannes.berg@intel.com>
124Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
125---
126 net/wireless/reg.c | 2 +-
127 1 file changed, 1 insertion(+), 1 deletion(-)
128
129diff --git a/net/wireless/reg.c b/net/wireless/reg.c
130index c1c99dd..d57d05b 100644
131--- a/net/wireless/reg.c
132+++ b/net/wireless/reg.c
133@@ -1369,7 +1369,7 @@ static void reg_set_request_processed(void)
134 spin_unlock(&reg_requests_lock);
135
136 if (last_request->initiator == NL80211_REGDOM_SET_BY_USER)
137- cancel_delayed_work_sync(&reg_timeout);
138+ cancel_delayed_work(&reg_timeout);
139
140 if (need_more_processing)
141 schedule_work(&reg_work);
142--
1431.7.10
144
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0023-ath9k-Fix-softlockup-in-AR9485.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0023-ath9k-Fix-softlockup-in-AR9485.patch
new file mode 100644
index 00000000..7a88ca07
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0023-ath9k-Fix-softlockup-in-AR9485.patch
@@ -0,0 +1,68 @@
1From 7195eb3dcc15a2a0ea8c557806abf32241e276d1 Mon Sep 17 00:00:00 2001
2From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
3Date: Wed, 13 Jun 2012 21:28:09 +0530
4Subject: [PATCH 23/46] ath9k: Fix softlockup in AR9485
5
6commit bcb7ad7bcbef030e6ba71ede1f9866368aca7c99 upstream.
7
8steps to recreate:
9load latest ath9k driver with AR9485
10stop the network-manager and wpa_supplicant
11bring the interface up
12
13 Call Trace:
14 [<ffffffffa0517490>] ? ath_hw_check+0xe0/0xe0 [ath9k]
15 [<ffffffff812cd1e8>] __const_udelay+0x28/0x30
16 [<ffffffffa03bae7a>] ar9003_get_pll_sqsum_dvc+0x4a/0x80 [ath9k_hw]
17 [<ffffffffa05174eb>] ath_hw_pll_work+0x5b/0xe0 [ath9k]
18 [<ffffffff810744fe>] process_one_work+0x11e/0x470
19 [<ffffffff8107530f>] worker_thread+0x15f/0x360
20 [<ffffffff810751b0>] ? manage_workers+0x230/0x230
21 [<ffffffff81079af3>] kthread+0x93/0xa0
22 [<ffffffff815fd3a4>] kernel_thread_helper+0x4/0x10
23 [<ffffffff81079a60>] ? kthread_freezable_should_stop+0x70/0x70
24 [<ffffffff815fd3a0>] ? gs_change+0x13/0x13
25
26ensure that the PLL-WAR for AR9485/AR9340 is executed only if the STA is
27associated (or) IBSS/AP mode had started beaconing. Ideally this WAR
28is needed to recover from some rare beacon stuck during stress testing.
29Before the STA is associated/IBSS had started beaconing, PLL4(0x1618c)
30always seem to have zero even though we had configured PLL3(0x16188) to
31query about PLL's locking status. When we keep on polling infinitely PLL4's
328th bit(ie check for PLL locking measurements is done), machine hangs
33due to softlockup.
34
35fixes https://bugzilla.redhat.com/show_bug.cgi?id=811142
36
37Reported-by: Rolf Offermanns <rolf.offermanns@gmx.net>
38Tested-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
39Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
40Signed-off-by: John W. Linville <linville@tuxdriver.com>
41Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
42---
43 drivers/net/wireless/ath/ath9k/main.c | 9 +++++++++
44 1 file changed, 9 insertions(+)
45
46diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
47index 5b22ecd..95437fc 100644
48--- a/drivers/net/wireless/ath/ath9k/main.c
49+++ b/drivers/net/wireless/ath/ath9k/main.c
50@@ -1042,6 +1042,15 @@ void ath_hw_pll_work(struct work_struct *work)
51 hw_pll_work.work);
52 u32 pll_sqsum;
53
54+ /*
55+ * ensure that the PLL WAR is executed only
56+ * after the STA is associated (or) if the
57+ * beaconing had started in interfaces that
58+ * uses beacons.
59+ */
60+ if (!(sc->sc_flags & SC_OP_BEACONS))
61+ return;
62+
63 if (AR_SREV_9485(sc->sc_ah)) {
64
65 ath9k_ps_wakeup(sc);
66--
671.7.10
68
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0024-can-c_can-precedence-error-in-c_can_chip_config.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0024-can-c_can-precedence-error-in-c_can_chip_config.patch
new file mode 100644
index 00000000..4fd58e46
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0024-can-c_can-precedence-error-in-c_can_chip_config.patch
@@ -0,0 +1,38 @@
1From a06c6152d3db3bab83eefcbff5a1e41c91c8295d Mon Sep 17 00:00:00 2001
2From: Dan Carpenter <dan.carpenter@oracle.com>
3Date: Fri, 15 Jun 2012 00:20:44 +0000
4Subject: [PATCH 24/46] can: c_can: precedence error in c_can_chip_config()
5
6commit d9cb9bd63eb27ac19f26a8547128c053f43a5da8 upstream.
7
8(CAN_CTRLMODE_LISTENONLY & CAN_CTRLMODE_LOOPBACK) is (0x02 & 0x01) which
9is zero so the condition is never true. The intent here was to test
10that both flags were set.
11
12Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
13Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
14Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
15Signed-off-by: David S. Miller <davem@davemloft.net>
16Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
17---
18 drivers/net/can/c_can/c_can.c | 4 ++--
19 1 file changed, 2 insertions(+), 2 deletions(-)
20
21diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c
22index 8dc84d6..86cd532 100644
23--- a/drivers/net/can/c_can/c_can.c
24+++ b/drivers/net/can/c_can/c_can.c
25@@ -590,8 +590,8 @@ static void c_can_chip_config(struct net_device *dev)
26 priv->write_reg(priv, &priv->regs->control,
27 CONTROL_ENABLE_AR);
28
29- if (priv->can.ctrlmode & (CAN_CTRLMODE_LISTENONLY &
30- CAN_CTRLMODE_LOOPBACK)) {
31+ if ((priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY) &&
32+ (priv->can.ctrlmode & CAN_CTRLMODE_LOOPBACK)) {
33 /* loopback + silent mode : useful for hot self-test */
34 priv->write_reg(priv, &priv->regs->control, CONTROL_EIE |
35 CONTROL_SIE | CONTROL_IE | CONTROL_TEST);
36--
371.7.10
38
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch
new file mode 100644
index 00000000..82df3fbc
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch
@@ -0,0 +1,41 @@
1From aabb8d6daa5fecfc6086a480865312860e6a1080 Mon Sep 17 00:00:00 2001
2From: Felix Fietkau <nbd@openwrt.org>
3Date: Fri, 15 Jun 2012 03:04:52 +0200
4Subject: [PATCH 25/46] ath9k: fix a tx rate duration calculation bug
5
6commit 76591bea9714a58d8924154068c78d702eb2cb17 upstream.
7
8The rate pointer variable for a rate series is used in a loop before it is
9initialized. This went unnoticed because it was used earlier for the RTS/CTS
10rate. This bug can lead to the wrong PHY type being passed to the
11duration calculation function.
12
13Signed-off-by: Felix Fietkau <nbd@openwrt.org>
14Signed-off-by: John W. Linville <linville@tuxdriver.com>
15Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
16---
17 drivers/net/wireless/ath/ath9k/xmit.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
21index 76fd277..c59c592 100644
22--- a/drivers/net/wireless/ath/ath9k/xmit.c
23+++ b/drivers/net/wireless/ath/ath9k/xmit.c
24@@ -936,13 +936,13 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf,
25 }
26
27 /* legacy rates */
28+ rate = &sc->sbands[tx_info->band].bitrates[rates[i].idx];
29 if ((tx_info->band == IEEE80211_BAND_2GHZ) &&
30 !(rate->flags & IEEE80211_RATE_ERP_G))
31 phy = WLAN_RC_PHY_CCK;
32 else
33 phy = WLAN_RC_PHY_OFDM;
34
35- rate = &sc->sbands[tx_info->band].bitrates[rates[i].idx];
36 info->rates[i].Rate = rate->hw_value;
37 if (rate->hw_value_short) {
38 if (rates[i].flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)
39--
401.7.10
41
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0026-batman-adv-fix-skb-data-assignment.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0026-batman-adv-fix-skb-data-assignment.patch
new file mode 100644
index 00000000..f64ab788
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0026-batman-adv-fix-skb-data-assignment.patch
@@ -0,0 +1,42 @@
1From 124c9eb2772ae36b2a2d9afa510976cc38a497ef Mon Sep 17 00:00:00 2001
2From: Antonio Quartulli <ordex@autistici.org>
3Date: Fri, 29 Jun 2012 22:58:03 +0200
4Subject: [PATCH 26/46] batman-adv: fix skb->data assignment
5
6commit 2c995ff892313009e336ecc8ec3411022f5b1c39 upstream.
7
8skb_linearize(skb) possibly rearranges the skb internal data and then changes
9the skb->data pointer value. For this reason any other pointer in the code that
10was assigned skb->data before invoking skb_linearise(skb) must be re-assigned.
11
12In the current tt_query message handling code this is not done and therefore, in
13case of skb linearization, the pointer used to handle the packet header ends up
14in pointing to free'd memory.
15
16This bug was introduced by a73105b8d4c765d9ebfb664d0a66802127d8e4c7
17(batman-adv: improved client announcement mechanism)
18
19Signed-off-by: Antonio Quartulli <ordex@autistici.org>
20Signed-off-by: David S. Miller <davem@davemloft.net>
21[This patch is a backport for kernel versions 3.1 and 3.2 - Antonio]
22Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
23---
24 net/batman-adv/routing.c | 2 ++
25 1 file changed, 2 insertions(+)
26
27diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c
28index f961cc5..da587ad 100644
29--- a/net/batman-adv/routing.c
30+++ b/net/batman-adv/routing.c
31@@ -619,6 +619,8 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
32 /* packet needs to be linearized to access the TT changes */
33 if (skb_linearize(skb) < 0)
34 goto out;
35+ /* skb_linearize() possibly changed skb->data */
36+ tt_query = (struct tt_query_packet *)skb->data;
37
38 if (is_my_mac(tt_query->dst))
39 handle_tt_response(bat_priv, tt_query);
40--
411.7.10
42
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0027-ARM-SAMSUNG-Should-check-for-IS_ERR-clk-instead-of-N.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0027-ARM-SAMSUNG-Should-check-for-IS_ERR-clk-instead-of-N.patch
new file mode 100644
index 00000000..99b9398a
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0027-ARM-SAMSUNG-Should-check-for-IS_ERR-clk-instead-of-N.patch
@@ -0,0 +1,33 @@
1From dcf35ea664aae563cd99db11c78285f28b7bdcde Mon Sep 17 00:00:00 2001
2From: Jonghwan Choi <jhbird.choi@samsung.com>
3Date: Wed, 20 Jun 2012 17:05:37 +0900
4Subject: [PATCH 27/46] ARM: SAMSUNG: Should check for IS_ERR(clk) instead of
5 NULL
6
7commit a5d8f4765f0e92ef027492a8cb979c5b8d45f2c3 upstream.
8
9On the error condition clk_get() returns ERR_PTR().
10
11Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
12Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
13Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
14---
15 arch/arm/plat-samsung/include/plat/watchdog-reset.h | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/arch/arm/plat-samsung/include/plat/watchdog-reset.h b/arch/arm/plat-samsung/include/plat/watchdog-reset.h
19index 40dbb2b..11b19ea 100644
20--- a/arch/arm/plat-samsung/include/plat/watchdog-reset.h
21+++ b/arch/arm/plat-samsung/include/plat/watchdog-reset.h
22@@ -24,7 +24,7 @@ static inline void arch_wdt_reset(void)
23
24 __raw_writel(0, S3C2410_WTCON); /* disable watchdog, to be safe */
25
26- if (s3c2410_wdtclk)
27+ if (!IS_ERR(s3c2410_wdtclk))
28 clk_enable(s3c2410_wdtclk);
29
30 /* put initial values into count and data */
31--
321.7.10
33
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0028-ath9k_hw-avoid-possible-infinite-loop-in-ar9003_get_.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0028-ath9k_hw-avoid-possible-infinite-loop-in-ar9003_get_.patch
new file mode 100644
index 00000000..2b1b0a77
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0028-ath9k_hw-avoid-possible-infinite-loop-in-ar9003_get_.patch
@@ -0,0 +1,61 @@
1From 750f92b77aa8db48a56f5d34dd6a61a3184cf119 Mon Sep 17 00:00:00 2001
2From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
3Date: Mon, 18 Jun 2012 13:13:30 +0530
4Subject: [PATCH 28/46] ath9k_hw: avoid possible infinite loop in
5 ar9003_get_pll_sqsum_dvc
6
7commit f18e3c6b67f448ec47b3a5b242789bd3d5644879 upstream.
8
9"ath9k: Fix softlockup in AR9485" with commit id
1064bc1239c790e051ff677e023435d770d2ffa174 fixed the reported
11issue, yet its better to avoid the possible infinite loop
12in ar9003_get_pll_sqsum_dvc by having a timeout as suggested
13by ath9k maintainers.
14http://www.spinics.net/lists/linux-wireless/msg92126.html.
15Based on my testing PLL's locking measurement is done in
16~200us (2 iterations).
17
18Cc: Rolf Offermanns <rolf.offermanns@gmx.net>
19Cc: Sujith Manoharan <c_manoha@qca.qualcomm.com>
20Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
21Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
22Signed-off-by: John W. Linville <linville@tuxdriver.com>
23Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
24---
25 drivers/net/wireless/ath/ath9k/hw.c | 14 +++++++++++++-
26 1 file changed, 13 insertions(+), 1 deletion(-)
27
28diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
29index 8b0c2ca..6973620 100644
30--- a/drivers/net/wireless/ath/ath9k/hw.c
31+++ b/drivers/net/wireless/ath/ath9k/hw.c
32@@ -718,13 +718,25 @@ static void ath9k_hw_init_qos(struct ath_hw *ah)
33
34 u32 ar9003_get_pll_sqsum_dvc(struct ath_hw *ah)
35 {
36+ struct ath_common *common = ath9k_hw_common(ah);
37+ int i = 0;
38+
39 REG_CLR_BIT(ah, PLL3, PLL3_DO_MEAS_MASK);
40 udelay(100);
41 REG_SET_BIT(ah, PLL3, PLL3_DO_MEAS_MASK);
42
43- while ((REG_READ(ah, PLL4) & PLL4_MEAS_DONE) == 0)
44+ while ((REG_READ(ah, PLL4) & PLL4_MEAS_DONE) == 0) {
45+
46 udelay(100);
47
48+ if (WARN_ON_ONCE(i >= 100)) {
49+ ath_err(common, "PLL4 meaurement not done\n");
50+ break;
51+ }
52+
53+ i++;
54+ }
55+
56 return (REG_READ(ah, PLL3) & SQSUM_DVC_MASK) >> 3;
57 }
58 EXPORT_SYMBOL(ar9003_get_pll_sqsum_dvc);
59--
601.7.10
61
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0029-iwlwifi-remove-log_event-debugfs-file-debugging-is-d.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0029-iwlwifi-remove-log_event-debugfs-file-debugging-is-d.patch
new file mode 100644
index 00000000..65fb0bea
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0029-iwlwifi-remove-log_event-debugfs-file-debugging-is-d.patch
@@ -0,0 +1,67 @@
1From 470e08b2e73b3ce64336de8d55b009e4782735b8 Mon Sep 17 00:00:00 2001
2From: Johannes Berg <johannes.berg@intel.com>
3Date: Wed, 20 Jun 2012 08:46:25 +0200
4Subject: [PATCH 29/46] iwlwifi: remove log_event debugfs file debugging is
5 disabled
6
7commit 882b7b7d11d65e8eccce738f1ce97cdfdb998f9f upstream.
8
9When debugging is disabled, the event log functions aren't
10functional in the way that the debugfs file expects. This
11leads to the debugfs access crashing. Since the event log
12functions aren't functional then, remove the debugfs file
13when CONFIG_IWLWIFI_DEBUG is not set.
14
15Reported-by: Lekensteyn <lekensteyn@gmail.com>
16Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
17Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18Signed-off-by: John W. Linville <linville@tuxdriver.com>
19[bwh: Backported to 3.2: adjust filename, context]
20Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
21---
22 drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | 6 ++++++
23 1 file changed, 6 insertions(+)
24
25diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
26index 5815cf5..4661a64 100644
27--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
28+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
29@@ -1777,6 +1777,7 @@ static ssize_t iwl_dbgfs_rx_queue_read(struct file *file,
30 return simple_read_from_buffer(user_buf, count, ppos, buf, pos);
31 }
32
33+#ifdef CONFIG_IWLWIFI_DEBUG
34 static ssize_t iwl_dbgfs_log_event_read(struct file *file,
35 char __user *user_buf,
36 size_t count, loff_t *ppos)
37@@ -1814,6 +1815,7 @@ static ssize_t iwl_dbgfs_log_event_write(struct file *file,
38
39 return count;
40 }
41+#endif
42
43 static ssize_t iwl_dbgfs_interrupt_read(struct file *file,
44 char __user *user_buf,
45@@ -1941,7 +1943,9 @@ static ssize_t iwl_dbgfs_fh_reg_read(struct file *file,
46 return ret;
47 }
48
49+#ifdef CONFIG_IWLWIFI_DEBUG
50 DEBUGFS_READ_WRITE_FILE_OPS(log_event);
51+#endif
52 DEBUGFS_READ_WRITE_FILE_OPS(interrupt);
53 DEBUGFS_READ_FILE_OPS(fh_reg);
54 DEBUGFS_READ_FILE_OPS(rx_queue);
55@@ -1957,7 +1961,9 @@ static int iwl_trans_pcie_dbgfs_register(struct iwl_trans *trans,
56 {
57 DEBUGFS_ADD_FILE(rx_queue, dir, S_IRUSR);
58 DEBUGFS_ADD_FILE(tx_queue, dir, S_IRUSR);
59+#ifdef CONFIG_IWLWIFI_DEBUG
60 DEBUGFS_ADD_FILE(log_event, dir, S_IWUSR | S_IRUSR);
61+#endif
62 DEBUGFS_ADD_FILE(interrupt, dir, S_IWUSR | S_IRUSR);
63 DEBUGFS_ADD_FILE(csr, dir, S_IWUSR);
64 DEBUGFS_ADD_FILE(fh_reg, dir, S_IRUSR);
65--
661.7.10
67
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0030-ARM-SAMSUNG-Fix-for-S3C2412-EBI-memory-mapping.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0030-ARM-SAMSUNG-Fix-for-S3C2412-EBI-memory-mapping.patch
new file mode 100644
index 00000000..4a91186b
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0030-ARM-SAMSUNG-Fix-for-S3C2412-EBI-memory-mapping.patch
@@ -0,0 +1,36 @@
1From 4885fac40cf4f8adf4c6832d90b3b60c4ac44f19 Mon Sep 17 00:00:00 2001
2From: Jose Miguel Goncalves <jose.goncalves@inov.pt>
3Date: Sat, 12 May 2012 06:11:49 +0900
4Subject: [PATCH 30/46] ARM: SAMSUNG: Fix for S3C2412 EBI memory mapping
5
6commit 3dca938656c7b0ff6b0717a5dde0f5f45e592be5 upstream.
7
8While upgrading the kernel on a S3C2412 based board I've noted
9that it was impossible to boot the board with a 2.6.32 or upper
10kernel. I've tracked down the problem to the EBI virtual memory
11mapping that is in conflict with the IO mapping definition in
12arch/arm/mach-s3c24xx/s3c2412.c.
13
14Signed-off-by: Jose Miguel Goncalves <jose.goncalves@inov.pt>
15Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
16Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
17---
18 arch/arm/plat-samsung/include/plat/map-s3c.h | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/arch/arm/plat-samsung/include/plat/map-s3c.h b/arch/arm/plat-samsung/include/plat/map-s3c.h
22index 7d04875..c0c70a8 100644
23--- a/arch/arm/plat-samsung/include/plat/map-s3c.h
24+++ b/arch/arm/plat-samsung/include/plat/map-s3c.h
25@@ -22,7 +22,7 @@
26 #define S3C24XX_VA_WATCHDOG S3C_VA_WATCHDOG
27
28 #define S3C2412_VA_SSMC S3C_ADDR_CPU(0x00000000)
29-#define S3C2412_VA_EBI S3C_ADDR_CPU(0x00010000)
30+#define S3C2412_VA_EBI S3C_ADDR_CPU(0x00100000)
31
32 #define S3C2410_PA_UART (0x50000000)
33 #define S3C24XX_PA_UART S3C2410_PA_UART
34--
351.7.10
36
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0031-USB-option-add-id-for-Cellient-MEN-200.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0031-USB-option-add-id-for-Cellient-MEN-200.patch
new file mode 100644
index 00000000..d41471fd
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0031-USB-option-add-id-for-Cellient-MEN-200.patch
@@ -0,0 +1,44 @@
1From 8ca01cdb21b1e0daed013a4536ca89543f844424 Mon Sep 17 00:00:00 2001
2From: Dmitry Shmygov <shmygov@rambler.ru>
3Date: Wed, 20 Jun 2012 15:51:40 +0400
4Subject: [PATCH 31/46] USB: option: add id for Cellient MEN-200
5
6commit 1e2c4e59d2b8797973471b4a287a43eac12a0f40 upstream.
7
8Add vendor and product ID to option.c driver
9for Cellient MEN-200 EVDO Rev.B 450MHz data module.
10http://cellient.com
11
12Signed-off-by: Dmitry Shmygov <shmygov@rambler.ru>
13Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
14Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
15---
16 drivers/usb/serial/option.c | 5 +++++
17 1 file changed, 5 insertions(+)
18
19diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
20index 61d6c31..e311711c 100644
21--- a/drivers/usb/serial/option.c
22+++ b/drivers/usb/serial/option.c
23@@ -496,6 +496,10 @@ static void option_instat_callback(struct urb *urb);
24 /* MediaTek products */
25 #define MEDIATEK_VENDOR_ID 0x0e8d
26
27+/* Cellient products */
28+#define CELLIENT_VENDOR_ID 0x2692
29+#define CELLIENT_PRODUCT_MEN200 0x9005
30+
31 /* some devices interfaces need special handling due to a number of reasons */
32 enum option_blacklist_reason {
33 OPTION_BLACKLIST_NONE = 0,
34@@ -1227,6 +1231,7 @@ static const struct usb_device_id option_ids[] = {
35 { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a1, 0xff, 0x02, 0x01) },
36 { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a2, 0xff, 0x00, 0x00) },
37 { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a2, 0xff, 0x02, 0x01) }, /* MediaTek MT6276M modem & app port */
38+ { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
39 { } /* Terminating entry */
40 };
41 MODULE_DEVICE_TABLE(usb, option_ids);
42--
431.7.10
44
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0032-oprofile-perf-use-NR_CPUS-instead-or-nr_cpumask_bits.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0032-oprofile-perf-use-NR_CPUS-instead-or-nr_cpumask_bits.patch
new file mode 100644
index 00000000..e2c5be82
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0032-oprofile-perf-use-NR_CPUS-instead-or-nr_cpumask_bits.patch
@@ -0,0 +1,44 @@
1From fa7b3de0ebfa0cd8a833ea2daa5ded5ea50fd085 Mon Sep 17 00:00:00 2001
2From: Will Deacon <will.deacon@arm.com>
3Date: Fri, 8 Jun 2012 16:16:04 +0100
4Subject: [PATCH 32/46] oprofile: perf: use NR_CPUS instead or nr_cpumask_bits
5 for static array
6
7commit e734568b675c985db2026848fefaac01c22977a5 upstream.
8
9The OProfile perf backend uses a static array to keep track of the
10perf events on the system. When compiling with CONFIG_CPUMASK_OFFSTACK=y
11&& SMP, nr_cpumask_bits is not a compile-time constant and the build
12will fail with:
13
14oprofile_perf.c:28: error: variably modified 'perf_events' at file scope
15
16This patch uses NR_CPUs instead of nr_cpumask_bits for the array
17initialisation. If this causes space problems in the future, we can
18always move to dynamic allocation for the events array.
19
20Cc: Matt Fleming <matt@console-pimps.org>
21Reported-by: Russell King - ARM Linux <linux@arm.linux.org.uk>
22Signed-off-by: Will Deacon <will.deacon@arm.com>
23Signed-off-by: Robert Richter <robert.richter@amd.com>
24Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
25---
26 drivers/oprofile/oprofile_perf.c | 2 +-
27 1 file changed, 1 insertion(+), 1 deletion(-)
28
29diff --git a/drivers/oprofile/oprofile_perf.c b/drivers/oprofile/oprofile_perf.c
30index da14432..efc4b7f 100644
31--- a/drivers/oprofile/oprofile_perf.c
32+++ b/drivers/oprofile/oprofile_perf.c
33@@ -25,7 +25,7 @@ static int oprofile_perf_enabled;
34 static DEFINE_MUTEX(oprofile_perf_mutex);
35
36 static struct op_counter_config *counter_config;
37-static struct perf_event **perf_events[nr_cpumask_bits];
38+static struct perf_event **perf_events[NR_CPUS];
39 static int num_counters;
40
41 /*
42--
431.7.10
44
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0033-drm-i915-Refactor-the-deferred-PM_IIR-handling-into-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0033-drm-i915-Refactor-the-deferred-PM_IIR-handling-into-.patch
new file mode 100644
index 00000000..ac1efd7c
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0033-drm-i915-Refactor-the-deferred-PM_IIR-handling-into-.patch
@@ -0,0 +1,107 @@
1From 179d0e42c797861a350b6f72e534edad4dac0f65 Mon Sep 17 00:00:00 2001
2From: Chris Wilson <chris@chris-wilson.co.uk>
3Date: Sun, 15 Apr 2012 11:56:03 +0100
4Subject: [PATCH 33/46] drm/i915: Refactor the deferred PM_IIR handling into a
5 single function
6
7commit fc6826d1dcd65f3d1e9a5377678882e4e08f02be upstream.
8
9This function, along with the registers and deferred work hander, are
10all shared with SandyBridge, IvyBridge and their variants. So remove the
11duplicate code into a single function.
12
13Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
14Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
15Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
16[bwh: Backported to 3.2: adjust context; drop changes for Valley View]
17Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
18---
19 drivers/gpu/drm/i915/i915_irq.c | 58 +++++++++++++++++++--------------------
20 1 file changed, 29 insertions(+), 29 deletions(-)
21
22diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
23index d3820c2..17c335e 100644
24--- a/drivers/gpu/drm/i915/i915_irq.c
25+++ b/drivers/gpu/drm/i915/i915_irq.c
26@@ -424,6 +424,31 @@ static void gen6_pm_rps_work(struct work_struct *work)
27 mutex_unlock(&dev_priv->dev->struct_mutex);
28 }
29
30+static void gen6_queue_rps_work(struct drm_i915_private *dev_priv,
31+ u32 pm_iir)
32+{
33+ unsigned long flags;
34+
35+ /*
36+ * IIR bits should never already be set because IMR should
37+ * prevent an interrupt from being shown in IIR. The warning
38+ * displays a case where we've unsafely cleared
39+ * dev_priv->pm_iir. Although missing an interrupt of the same
40+ * type is not a problem, it displays a problem in the logic.
41+ *
42+ * The mask bit in IMR is cleared by rps_work.
43+ */
44+
45+ spin_lock_irqsave(&dev_priv->rps_lock, flags);
46+ WARN(dev_priv->pm_iir & pm_iir, "Missed a PM interrupt\n");
47+ dev_priv->pm_iir |= pm_iir;
48+ I915_WRITE(GEN6_PMIMR, dev_priv->pm_iir);
49+ POSTING_READ(GEN6_PMIMR);
50+ spin_unlock_irqrestore(&dev_priv->rps_lock, flags);
51+
52+ queue_work(dev_priv->wq, &dev_priv->rps_work);
53+}
54+
55 static void pch_irq_handler(struct drm_device *dev, u32 pch_iir)
56 {
57 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
58@@ -529,16 +554,8 @@ static irqreturn_t ivybridge_irq_handler(DRM_IRQ_ARGS)
59 pch_irq_handler(dev, pch_iir);
60 }
61
62- if (pm_iir & GEN6_PM_DEFERRED_EVENTS) {
63- unsigned long flags;
64- spin_lock_irqsave(&dev_priv->rps_lock, flags);
65- WARN(dev_priv->pm_iir & pm_iir, "Missed a PM interrupt\n");
66- dev_priv->pm_iir |= pm_iir;
67- I915_WRITE(GEN6_PMIMR, dev_priv->pm_iir);
68- POSTING_READ(GEN6_PMIMR);
69- spin_unlock_irqrestore(&dev_priv->rps_lock, flags);
70- queue_work(dev_priv->wq, &dev_priv->rps_work);
71- }
72+ if (pm_iir & GEN6_PM_DEFERRED_EVENTS)
73+ gen6_queue_rps_work(dev_priv, pm_iir);
74
75 /* should clear PCH hotplug event before clear CPU irq */
76 I915_WRITE(SDEIIR, pch_iir);
77@@ -634,25 +651,8 @@ static irqreturn_t ironlake_irq_handler(DRM_IRQ_ARGS)
78 i915_handle_rps_change(dev);
79 }
80
81- if (IS_GEN6(dev) && pm_iir & GEN6_PM_DEFERRED_EVENTS) {
82- /*
83- * IIR bits should never already be set because IMR should
84- * prevent an interrupt from being shown in IIR. The warning
85- * displays a case where we've unsafely cleared
86- * dev_priv->pm_iir. Although missing an interrupt of the same
87- * type is not a problem, it displays a problem in the logic.
88- *
89- * The mask bit in IMR is cleared by rps_work.
90- */
91- unsigned long flags;
92- spin_lock_irqsave(&dev_priv->rps_lock, flags);
93- WARN(dev_priv->pm_iir & pm_iir, "Missed a PM interrupt\n");
94- dev_priv->pm_iir |= pm_iir;
95- I915_WRITE(GEN6_PMIMR, dev_priv->pm_iir);
96- POSTING_READ(GEN6_PMIMR);
97- spin_unlock_irqrestore(&dev_priv->rps_lock, flags);
98- queue_work(dev_priv->wq, &dev_priv->rps_work);
99- }
100+ if (IS_GEN6(dev) && pm_iir & GEN6_PM_DEFERRED_EVENTS)
101+ gen6_queue_rps_work(dev_priv, pm_iir);
102
103 /* should clear PCH hotplug event before clear CPU irq */
104 I915_WRITE(SDEIIR, pch_iir);
105--
1061.7.10
107
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0034-drm-i915-rip-out-the-PM_IIR-WARN.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0034-drm-i915-rip-out-the-PM_IIR-WARN.patch
new file mode 100644
index 00000000..bd34e073
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0034-drm-i915-rip-out-the-PM_IIR-WARN.patch
@@ -0,0 +1,60 @@
1From a01c3081fec2775e6ed17963f2f70ea67d5e6401 Mon Sep 17 00:00:00 2001
2From: Daniel Vetter <daniel.vetter@ffwll.ch>
3Date: Thu, 21 Jun 2012 14:55:22 +0200
4Subject: [PATCH 34/46] drm/i915: rip out the PM_IIR WARN
5
6commit 58bf8062d0b293b8e1028e5b0342082002886bd4 upstream.
7
8After banging my head against this for the past few months, I still
9don't see how this could possible race under the premise that once an
10irq bit is masked in PM_IMR and reset in PM_IIR it won't show up again
11until we unmask it in PM_IMR.
12
13Still, we have reports of this being seen in the wild. Now Bspec has
14this little bit of lovely language in the PMIIR register:
15
16Public SNB Docs, Vol3Part2, 2.5.14 "PMIIR":
17
18"For each bit, the IIR can store a second pending interrupt if two or
19more of the same interrupt conditions occur before the first condition
20is cleared. Upon clearing the interrupt, the IIR bit will momentarily
21go low, then return high to indicate there is another interrupt
22pending."
23
24Now if we presume that PMIMR only prevent new interrupts from being
25queued, we could easily end up masking an interrupt and clearing it,
26but the 2nd pending interrupt setting the bit in PMIIR right away
27again. Which leads, the next time the irq handler runs, to hitting the
28WARN.
29
30Also, no bad side effects of this have ever been reported. And we've
31tracked down our issues with the gpu turbo getting stuck to bogus
32interrupt generation limits in th RPLIMIT register.
33
34So let's just rip out this WARN as bogus and call it a day. The only
35shallow thing here is that this 2-deep irq queue in the hw makes you
36wonder how racy the windows irq handler is ...
37
38Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42907
39Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
40Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
41Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
42---
43 drivers/gpu/drm/i915/i915_irq.c | 1 -
44 1 file changed, 1 deletion(-)
45
46diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
47index 17c335e..578ddfc 100644
48--- a/drivers/gpu/drm/i915/i915_irq.c
49+++ b/drivers/gpu/drm/i915/i915_irq.c
50@@ -440,7 +440,6 @@ static void gen6_queue_rps_work(struct drm_i915_private *dev_priv,
51 */
52
53 spin_lock_irqsave(&dev_priv->rps_lock, flags);
54- WARN(dev_priv->pm_iir & pm_iir, "Missed a PM interrupt\n");
55 dev_priv->pm_iir |= pm_iir;
56 I915_WRITE(GEN6_PMIMR, dev_priv->pm_iir);
57 POSTING_READ(GEN6_PMIMR);
58--
591.7.10
60
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0035-drm-i915-Fix-eDP-blank-screen-after-S3-resume-on-HP-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0035-drm-i915-Fix-eDP-blank-screen-after-S3-resume-on-HP-.patch
new file mode 100644
index 00000000..7f6394cd
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0035-drm-i915-Fix-eDP-blank-screen-after-S3-resume-on-HP-.patch
@@ -0,0 +1,46 @@
1From e083a17405e8771aaa8853534c66721aa5aa36ea Mon Sep 17 00:00:00 2001
2From: Takashi Iwai <tiwai@suse.de>
3Date: Thu, 21 Jun 2012 15:30:41 +0200
4Subject: [PATCH 35/46] drm/i915: Fix eDP blank screen after S3 resume on HP
5 desktops
6
7commit 6db65cbb941f9d433659bdad02b307f6d94465df upstream.
8
9This patch fixes the problem on some HP desktop machines with eDP
10which give blank screens after S3 resume.
11
12It turned out that BLC_PWM_CPU_CTL must be written after
13BLC_PWM_CPU_CTL2. Otherwise it doesn't take effect on these
14SNB machines.
15
16Tested with 3.5-rc3 kernel.
17
18Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49233
19
20Signed-off-by: Takashi Iwai <tiwai@suse.de>
21Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
22Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
23---
24 drivers/gpu/drm/i915/i915_suspend.c | 5 ++++-
25 1 file changed, 4 insertions(+), 1 deletion(-)
26
27diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
28index a1eb83d..f38d196 100644
29--- a/drivers/gpu/drm/i915/i915_suspend.c
30+++ b/drivers/gpu/drm/i915/i915_suspend.c
31@@ -739,8 +739,11 @@ static void i915_restore_display(struct drm_device *dev)
32 if (HAS_PCH_SPLIT(dev)) {
33 I915_WRITE(BLC_PWM_PCH_CTL1, dev_priv->saveBLC_PWM_CTL);
34 I915_WRITE(BLC_PWM_PCH_CTL2, dev_priv->saveBLC_PWM_CTL2);
35- I915_WRITE(BLC_PWM_CPU_CTL, dev_priv->saveBLC_CPU_PWM_CTL);
36+ /* NOTE: BLC_PWM_CPU_CTL must be written after BLC_PWM_CPU_CTL2;
37+ * otherwise we get blank eDP screen after S3 on some machines
38+ */
39 I915_WRITE(BLC_PWM_CPU_CTL2, dev_priv->saveBLC_CPU_PWM_CTL2);
40+ I915_WRITE(BLC_PWM_CPU_CTL, dev_priv->saveBLC_CPU_PWM_CTL);
41 I915_WRITE(PCH_PP_ON_DELAYS, dev_priv->savePP_ON_DELAYS);
42 I915_WRITE(PCH_PP_OFF_DELAYS, dev_priv->savePP_OFF_DELAYS);
43 I915_WRITE(PCH_PP_DIVISOR, dev_priv->savePP_DIVISOR);
44--
451.7.10
46
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0036-PM-Sleep-Prevent-waiting-forever-on-asynchronous-sus.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0036-PM-Sleep-Prevent-waiting-forever-on-asynchronous-sus.patch
new file mode 100644
index 00000000..0426542c
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0036-PM-Sleep-Prevent-waiting-forever-on-asynchronous-sus.patch
@@ -0,0 +1,62 @@
1From 148576d5144418385e4a0d59c5c9547d662ae0f2 Mon Sep 17 00:00:00 2001
2From: Mandeep Singh Baines <msb@chromium.org>
3Date: Sun, 24 Jun 2012 23:31:09 +0200
4Subject: [PATCH 36/46] PM / Sleep: Prevent waiting forever on asynchronous
5 suspend after abort
6
7commit 1f758b23177d588a71b96ad02990e715949bb82f upstream.
8
9__device_suspend() must always send a completion. Otherwise, parent
10devices will wait forever.
11
12Commit 1e2ef05b, "PM: Limit race conditions between runtime PM and
13system sleep (v2)", introduced a regression by short-circuiting the
14complete_all() for certain error cases.
15
16This patch fixes the bug by always signalling a completion.
17
18Addresses http://crosbug.com/31972
19
20Tested by injecting an abort.
21
22Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
23Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
24Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
25---
26 drivers/base/power/main.c | 6 ++++--
27 1 file changed, 4 insertions(+), 2 deletions(-)
28
29diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
30index c3d2dfc..b96544a 100644
31--- a/drivers/base/power/main.c
32+++ b/drivers/base/power/main.c
33@@ -869,7 +869,7 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async)
34 dpm_wait_for_children(dev, async);
35
36 if (async_error)
37- return 0;
38+ goto Complete;
39
40 pm_runtime_get_noresume(dev);
41 if (pm_runtime_barrier(dev) && device_may_wakeup(dev))
42@@ -878,7 +878,7 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async)
43 if (pm_wakeup_pending()) {
44 pm_runtime_put_sync(dev);
45 async_error = -EBUSY;
46- return 0;
47+ goto Complete;
48 }
49
50 device_lock(dev);
51@@ -926,6 +926,8 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async)
52 }
53
54 device_unlock(dev);
55+
56+ Complete:
57 complete_all(&dev->power.completion);
58
59 if (error) {
60--
611.7.10
62
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0037-x86-cpufeature-Rename-X86_FEATURE_DTS-to-X86_FEATURE.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0037-x86-cpufeature-Rename-X86_FEATURE_DTS-to-X86_FEATURE.patch
new file mode 100644
index 00000000..c536a733
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0037-x86-cpufeature-Rename-X86_FEATURE_DTS-to-X86_FEATURE.patch
@@ -0,0 +1,73 @@
1From edb1135bf688ed567d95e964af22488274890640 Mon Sep 17 00:00:00 2001
2From: "H. Peter Anvin" <hpa@linux.intel.com>
3Date: Fri, 22 Jun 2012 10:58:06 -0700
4Subject: [PATCH 37/46] x86, cpufeature: Rename X86_FEATURE_DTS to
5 X86_FEATURE_DTHERM
6
7commit 4ad33411308596f2f918603509729922a1ec4411 upstream.
8
9It makes sense to label "Digital Thermal Sensor" as "DTS", but
10unfortunately the string "dts" was already used for "Debug Store", and
11/proc/cpuinfo is a user space ABI.
12
13Therefore, rename this to "dtherm".
14
15This conflict went into mainline via the hwmon tree without any x86
16maintainer ack, and without any kind of hint in the subject.
17
18 a4659053 x86/hwmon: fix initialization of coretemp
19
20Reported-by: Jean Delvare <khali@linux-fr.org>
21Link: http://lkml.kernel.org/r/4FE34BCB.5050305@linux.intel.com
22Cc: Jan Beulich <JBeulich@suse.com>
23Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
24[bwh: Backported to 3.2: drop the coretemp device table change]
25Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
26---
27 arch/x86/include/asm/cpufeature.h | 2 +-
28 arch/x86/kernel/cpu/scattered.c | 2 +-
29 drivers/hwmon/coretemp.c | 2 +-
30 3 files changed, 3 insertions(+), 3 deletions(-)
31
32diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h
33index f3444f7..0c3b775 100644
34--- a/arch/x86/include/asm/cpufeature.h
35+++ b/arch/x86/include/asm/cpufeature.h
36@@ -175,7 +175,7 @@
37 #define X86_FEATURE_XSAVEOPT (7*32+ 4) /* Optimized Xsave */
38 #define X86_FEATURE_PLN (7*32+ 5) /* Intel Power Limit Notification */
39 #define X86_FEATURE_PTS (7*32+ 6) /* Intel Package Thermal Status */
40-#define X86_FEATURE_DTS (7*32+ 7) /* Digital Thermal Sensor */
41+#define X86_FEATURE_DTHERM (7*32+ 7) /* Digital Thermal Sensor */
42
43 /* Virtualization flags: Linux defined, word 8 */
44 #define X86_FEATURE_TPR_SHADOW (8*32+ 0) /* Intel TPR Shadow */
45diff --git a/arch/x86/kernel/cpu/scattered.c b/arch/x86/kernel/cpu/scattered.c
46index c7f64e6..ea6106c 100644
47--- a/arch/x86/kernel/cpu/scattered.c
48+++ b/arch/x86/kernel/cpu/scattered.c
49@@ -31,7 +31,7 @@ void __cpuinit init_scattered_cpuid_features(struct cpuinfo_x86 *c)
50 const struct cpuid_bit *cb;
51
52 static const struct cpuid_bit __cpuinitconst cpuid_bits[] = {
53- { X86_FEATURE_DTS, CR_EAX, 0, 0x00000006, 0 },
54+ { X86_FEATURE_DTHERM, CR_EAX, 0, 0x00000006, 0 },
55 { X86_FEATURE_IDA, CR_EAX, 1, 0x00000006, 0 },
56 { X86_FEATURE_ARAT, CR_EAX, 2, 0x00000006, 0 },
57 { X86_FEATURE_PLN, CR_EAX, 4, 0x00000006, 0 },
58diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c
59index 427468f..0790c98 100644
60--- a/drivers/hwmon/coretemp.c
61+++ b/drivers/hwmon/coretemp.c
62@@ -660,7 +660,7 @@ static void __cpuinit get_core_online(unsigned int cpu)
63 * sensors. We check this bit only, all the early CPUs
64 * without thermal sensors will be filtered out.
65 */
66- if (!cpu_has(c, X86_FEATURE_DTS))
67+ if (!cpu_has(c, X86_FEATURE_DTHERM))
68 return;
69
70 if (!pdev) {
71--
721.7.10
73
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0038-stable-Allow-merging-of-backports-for-serious-user-v.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0038-stable-Allow-merging-of-backports-for-serious-user-v.patch
new file mode 100644
index 00000000..37925c61
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0038-stable-Allow-merging-of-backports-for-serious-user-v.patch
@@ -0,0 +1,51 @@
1From 2bbcf955f97142e2b38c1da222da381d3729beb9 Mon Sep 17 00:00:00 2001
2From: Mel Gorman <mgorman@suse.de>
3Date: Thu, 21 Jun 2012 11:36:50 +0100
4Subject: [PATCH 38/46] stable: Allow merging of backports for serious
5 user-visible performance issues
6
7commit eb3979f64d25120d60b9e761a4c58f70b1a02f86 upstream.
8
9Distribution kernel maintainers routinely backport fixes for users that
10were deemed important but not "something critical" as defined by the
11rules. To users of these kernels they are very serious and failing to fix
12them reduces the value of -stable.
13
14The problem is that the patches fixing these issues are often subtle and
15prone to regressions in other ways and need greater care and attention.
16To combat this, these "serious" backports should have a higher barrier
17to entry.
18
19This patch relaxes the rules to allow a distribution maintainer to merge
20to -stable a backported patch or small series that fixes a "serious"
21user-visible performance issue. They should include additional information on
22the user-visible bug affected and a link to the bugzilla entry if available.
23The same rules about the patch being already in mainline still apply.
24
25Signed-off-by: Mel Gorman <mgorman@suse.de>
26Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
27Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
28---
29 Documentation/stable_kernel_rules.txt | 6 ++++++
30 1 file changed, 6 insertions(+)
31
32diff --git a/Documentation/stable_kernel_rules.txt b/Documentation/stable_kernel_rules.txt
33index 21fd05c..e1f856b 100644
34--- a/Documentation/stable_kernel_rules.txt
35+++ b/Documentation/stable_kernel_rules.txt
36@@ -12,6 +12,12 @@ Rules on what kind of patches are accepted, and which ones are not, into the
37 marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
38 security issue, or some "oh, that's not good" issue. In short, something
39 critical.
40+ - Serious issues as reported by a user of a distribution kernel may also
41+ be considered if they fix a notable performance or interactivity issue.
42+ As these fixes are not as obvious and have a higher risk of a subtle
43+ regression they should only be submitted by a distribution kernel
44+ maintainer and include an addendum linking to a bugzilla entry if it
45+ exists and additional information on the user-visible impact.
46 - New device IDs and quirks are also accepted.
47 - No "theoretical race condition" issues, unless an explanation of how the
48 race can be exploited is also provided.
49--
501.7.10
51
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0039-ALSA-hda-Add-Realtek-ALC280-codec-support.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0039-ALSA-hda-Add-Realtek-ALC280-codec-support.patch
new file mode 100644
index 00000000..a7843760
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0039-ALSA-hda-Add-Realtek-ALC280-codec-support.patch
@@ -0,0 +1,34 @@
1From 0aab048a80bd01c77244fa5d7e714a1174401ab1 Mon Sep 17 00:00:00 2001
2From: David Henningsson <david.henningsson@canonical.com>
3Date: Mon, 25 Jun 2012 19:49:28 +0200
4Subject: [PATCH 39/46] ALSA: hda - Add Realtek ALC280 codec support
5
6commit befae82e2906cb7155020876a531b0b8c6c8d8c8 upstream.
7
8This chip looks very similar to ALC269 and ALC27* variants. The bug reporter
9has verified that sound was working after this patch had been applied.
10
11BugLink: https://bugs.launchpad.net/bugs/1017017
12Tested-by: Richard Crossley <richardcrossley@o2.co.uk>
13Signed-off-by: David Henningsson <david.henningsson@canonical.com>
14Signed-off-by: Takashi Iwai <tiwai@suse.de>
15Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
16---
17 sound/pci/hda/patch_realtek.c | 1 +
18 1 file changed, 1 insertion(+)
19
20diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
21index 0005bde..5f096a5 100644
22--- a/sound/pci/hda/patch_realtek.c
23+++ b/sound/pci/hda/patch_realtek.c
24@@ -5988,6 +5988,7 @@ static const struct hda_codec_preset snd_hda_preset_realtek[] = {
25 { .id = 0x10ec0272, .name = "ALC272", .patch = patch_alc662 },
26 { .id = 0x10ec0275, .name = "ALC275", .patch = patch_alc269 },
27 { .id = 0x10ec0276, .name = "ALC276", .patch = patch_alc269 },
28+ { .id = 0x10ec0280, .name = "ALC280", .patch = patch_alc269 },
29 { .id = 0x10ec0861, .rev = 0x100340, .name = "ALC660",
30 .patch = patch_alc861 },
31 { .id = 0x10ec0660, .name = "ALC660-VD", .patch = patch_alc861vd },
32--
331.7.10
34
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0040-USB-option-Add-USB-ID-for-Novatel-Ovation-MC551.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0040-USB-option-Add-USB-ID-for-Novatel-Ovation-MC551.patch
new file mode 100644
index 00000000..4e011cdf
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0040-USB-option-Add-USB-ID-for-Novatel-Ovation-MC551.patch
@@ -0,0 +1,41 @@
1From 2e5d03393a6928616737edfb24457da88d21102b Mon Sep 17 00:00:00 2001
2From: Forest Bond <forest.bond@rapidrollout.com>
3Date: Fri, 22 Jun 2012 10:30:38 -0400
4Subject: [PATCH 40/46] USB: option: Add USB ID for Novatel Ovation MC551
5
6commit 065b07e7a14676f4138ce4619d229c0be5a74230 upstream.
7
8This device is also known as the Verizon USB551L.
9
10Signed-off-by: Forest Bond <forest.bond@rapidrollout.com>
11Acked-by: Dan Williams <dcbw@redhat.com>
12Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
13Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
14---
15 drivers/usb/serial/option.c | 3 +++
16 1 file changed, 3 insertions(+)
17
18diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
19index e311711c..21a4734 100644
20--- a/drivers/usb/serial/option.c
21+++ b/drivers/usb/serial/option.c
22@@ -235,6 +235,7 @@ static void option_instat_callback(struct urb *urb);
23 #define NOVATELWIRELESS_PRODUCT_G1 0xA001
24 #define NOVATELWIRELESS_PRODUCT_G1_M 0xA002
25 #define NOVATELWIRELESS_PRODUCT_G2 0xA010
26+#define NOVATELWIRELESS_PRODUCT_MC551 0xB001
27
28 /* AMOI PRODUCTS */
29 #define AMOI_VENDOR_ID 0x1614
30@@ -734,6 +735,8 @@ static const struct usb_device_id option_ids[] = {
31 { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G1) },
32 { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G1_M) },
33 { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G2) },
34+ /* Novatel Ovation MC551 a.k.a. Verizon USB551L */
35+ { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC551, 0xff, 0xff, 0xff) },
36
37 { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) },
38 { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) },
39--
401.7.10
41
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0041-USB-CP210x-Add-10-Device-IDs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0041-USB-CP210x-Add-10-Device-IDs.patch
new file mode 100644
index 00000000..f6509bf8
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0041-USB-CP210x-Add-10-Device-IDs.patch
@@ -0,0 +1,61 @@
1From 88093f6173b2c203d31bf67ed055419f5ec21953 Mon Sep 17 00:00:00 2001
2From: Craig Shelley <craig@microtron.org.uk>
3Date: Tue, 26 Jun 2012 23:20:04 +0100
4Subject: [PATCH 41/46] USB: CP210x Add 10 Device IDs
5
6commit 3fcc8f96829776cf181918461923d1e3bbb831a2 upstream.
7
8This patch adds 10 device IDs for CP210x based devices from the following manufacturers:
9Timewave
10Clipsal
11Festo
12Link Instruments
13
14Signed-off-by: Craig Shelley <craig@microtron.org.uk>
15Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
16Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
17---
18 drivers/usb/serial/cp210x.c | 11 +++++++++++
19 1 file changed, 11 insertions(+)
20
21diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
22index aa0c43f..35e6b5f 100644
23--- a/drivers/usb/serial/cp210x.c
24+++ b/drivers/usb/serial/cp210x.c
25@@ -93,6 +93,7 @@ static const struct usb_device_id id_table[] = {
26 { USB_DEVICE(0x10C4, 0x814B) }, /* West Mountain Radio RIGtalk */
27 { USB_DEVICE(0x10C4, 0x8156) }, /* B&G H3000 link cable */
28 { USB_DEVICE(0x10C4, 0x815E) }, /* Helicomm IP-Link 1220-DVM */
29+ { USB_DEVICE(0x10C4, 0x815F) }, /* Timewave HamLinkUSB */
30 { USB_DEVICE(0x10C4, 0x818B) }, /* AVIT Research USB to TTL */
31 { USB_DEVICE(0x10C4, 0x819F) }, /* MJS USB Toslink Switcher */
32 { USB_DEVICE(0x10C4, 0x81A6) }, /* ThinkOptics WavIt */
33@@ -134,7 +135,13 @@ static const struct usb_device_id id_table[] = {
34 { USB_DEVICE(0x10CE, 0xEA6A) }, /* Silicon Labs MobiData GPRS USB Modem 100EU */
35 { USB_DEVICE(0x13AD, 0x9999) }, /* Baltech card reader */
36 { USB_DEVICE(0x1555, 0x0004) }, /* Owen AC4 USB-RS485 Converter */
37+ { USB_DEVICE(0x166A, 0x0201) }, /* Clipsal 5500PACA C-Bus Pascal Automation Controller */
38+ { USB_DEVICE(0x166A, 0x0301) }, /* Clipsal 5800PC C-Bus Wireless PC Interface */
39 { USB_DEVICE(0x166A, 0x0303) }, /* Clipsal 5500PCU C-Bus USB interface */
40+ { USB_DEVICE(0x166A, 0x0304) }, /* Clipsal 5000CT2 C-Bus Black and White Touchscreen */
41+ { USB_DEVICE(0x166A, 0x0305) }, /* Clipsal C-5000CT2 C-Bus Spectrum Colour Touchscreen */
42+ { USB_DEVICE(0x166A, 0x0401) }, /* Clipsal L51xx C-Bus Architectural Dimmer */
43+ { USB_DEVICE(0x166A, 0x0101) }, /* Clipsal 5560884 C-Bus Multi-room Audio Matrix Switcher */
44 { USB_DEVICE(0x16D6, 0x0001) }, /* Jablotron serial interface */
45 { USB_DEVICE(0x16DC, 0x0010) }, /* W-IE-NE-R Plein & Baus GmbH PL512 Power Supply */
46 { USB_DEVICE(0x16DC, 0x0011) }, /* W-IE-NE-R Plein & Baus GmbH RCM Remote Control for MARATON Power Supply */
47@@ -146,7 +153,11 @@ static const struct usb_device_id id_table[] = {
48 { USB_DEVICE(0x1843, 0x0200) }, /* Vaisala USB Instrument Cable */
49 { USB_DEVICE(0x18EF, 0xE00F) }, /* ELV USB-I2C-Interface */
50 { USB_DEVICE(0x1BE3, 0x07A6) }, /* WAGO 750-923 USB Service Cable */
51+ { USB_DEVICE(0x1E29, 0x0102) }, /* Festo CPX-USB */
52+ { USB_DEVICE(0x1E29, 0x0501) }, /* Festo CMSP */
53 { USB_DEVICE(0x3195, 0xF190) }, /* Link Instruments MSO-19 */
54+ { USB_DEVICE(0x3195, 0xF280) }, /* Link Instruments MSO-28 */
55+ { USB_DEVICE(0x3195, 0xF281) }, /* Link Instruments MSO-28 */
56 { USB_DEVICE(0x413C, 0x9500) }, /* DW700 GPS USB interface */
57 { } /* Terminating Entry */
58 };
59--
601.7.10
61
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0042-xen-netfront-teardown-the-device-before-unregisterin.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0042-xen-netfront-teardown-the-device-before-unregisterin.patch
new file mode 100644
index 00000000..5847cb6e
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0042-xen-netfront-teardown-the-device-before-unregisterin.patch
@@ -0,0 +1,58 @@
1From 55cebafff1e8327fe9dfa3b66d6f70bf88138902 Mon Sep 17 00:00:00 2001
2From: Ian Campbell <Ian.Campbell@citrix.com>
3Date: Mon, 25 Jun 2012 22:48:41 +0000
4Subject: [PATCH 42/46] xen/netfront: teardown the device before unregistering
5 it.
6
7commit 6bc96d047fe32d76ef79f3195c52a542edf7c705 upstream.
8
9Fixes:
10[ 15.470311] WARNING: at /local/scratch/ianc/devel/kernels/linux/fs/sysfs/file.c:498 sysfs_attr_ns+0x95/0xa0()
11[ 15.470326] sysfs: kobject eth0 without dirent
12[ 15.470333] Modules linked in:
13[ 15.470342] Pid: 12, comm: xenwatch Not tainted 3.4.0-x86_32p-xenU #93
14and
15[ 9.150554] BUG: unable to handle kernel paging request at 2b359000
16[ 9.150577] IP: [<c1279561>] linkwatch_do_dev+0x81/0xc0
17[ 9.150592] *pdpt = 000000002c3c9027 *pde = 0000000000000000
18[ 9.150604] Oops: 0002 [#1] SMP
19[ 9.150613] Modules linked in:
20
21This is http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675190
22
23Reported-by: George Shuklin <george.shuklin@gmail.com>
24Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
25Tested-by: William Dauchy <wdauchy@gmail.com>
26Cc: 675190@bugs.debian.org
27Signed-off-by: David S. Miller <davem@davemloft.net>
28Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
29---
30 drivers/net/xen-netfront.c | 8 ++++----
31 1 file changed, 4 insertions(+), 4 deletions(-)
32
33diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
34index 226faab..fc35308 100644
35--- a/drivers/net/xen-netfront.c
36+++ b/drivers/net/xen-netfront.c
37@@ -1922,14 +1922,14 @@ static int __devexit xennet_remove(struct xenbus_device *dev)
38
39 dev_dbg(&dev->dev, "%s\n", dev->nodename);
40
41- unregister_netdev(info->netdev);
42-
43 xennet_disconnect_backend(info);
44
45- del_timer_sync(&info->rx_refill_timer);
46-
47 xennet_sysfs_delif(info->netdev);
48
49+ unregister_netdev(info->netdev);
50+
51+ del_timer_sync(&info->rx_refill_timer);
52+
53 free_percpu(info->stats);
54
55 free_netdev(info->netdev);
56--
571.7.10
58
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0043-can-flexcan-use-be32_to_cpup-to-handle-the-value-of-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0043-can-flexcan-use-be32_to_cpup-to-handle-the-value-of-.patch
new file mode 100644
index 00000000..fa007b38
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0043-can-flexcan-use-be32_to_cpup-to-handle-the-value-of-.patch
@@ -0,0 +1,44 @@
1From 06f8253f22e3ba961cc490243917206e2a8a8502 Mon Sep 17 00:00:00 2001
2From: Hui Wang <jason77.wang@gmail.com>
3Date: Wed, 27 Jun 2012 16:19:18 +0800
4Subject: [PATCH 43/46] can: flexcan: use be32_to_cpup to handle the value of
5 dt entry
6
7commit 85f2f834e85517307f13e30e630a5fc86f757cb5 upstream.
8
9The freescale arm i.MX series platform can support this driver, and
10usually the arm cpu works in the little endian mode by default, while
11device tree entry value is stored in big endian format, we should use
12be32_to_cpup() to handle them, after modification, it can work well
13both on the le cpu and be cpu.
14
15Cc: Shawn Guo <shawn.guo@linaro.org>
16Signed-off-by: Hui Wang <jason77.wang@gmail.com>
17Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
18Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
19---
20 drivers/net/can/flexcan.c | 4 ++--
21 1 file changed, 2 insertions(+), 2 deletions(-)
22
23diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
24index e023379..e59d006 100644
25--- a/drivers/net/can/flexcan.c
26+++ b/drivers/net/can/flexcan.c
27@@ -933,12 +933,12 @@ static int __devinit flexcan_probe(struct platform_device *pdev)
28 u32 clock_freq = 0;
29
30 if (pdev->dev.of_node) {
31- const u32 *clock_freq_p;
32+ const __be32 *clock_freq_p;
33
34 clock_freq_p = of_get_property(pdev->dev.of_node,
35 "clock-frequency", NULL);
36 if (clock_freq_p)
37- clock_freq = *clock_freq_p;
38+ clock_freq = be32_to_cpup(clock_freq_p);
39 }
40
41 if (!clock_freq) {
42--
431.7.10
44
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0044-acpi_pad-fix-power_saving-thread-deadlock.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0044-acpi_pad-fix-power_saving-thread-deadlock.patch
new file mode 100644
index 00000000..fd063f1a
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0044-acpi_pad-fix-power_saving-thread-deadlock.patch
@@ -0,0 +1,66 @@
1From 64a1cb8318eb947d5217e72c7b295a1bda892ecd Mon Sep 17 00:00:00 2001
2From: Stuart Hayes <Stuart_Hayes@Dell.com>
3Date: Wed, 13 Jun 2012 16:10:45 -0500
4Subject: [PATCH 44/46] acpi_pad: fix power_saving thread deadlock
5
6commit 5f1601261050251a5ca293378b492a69d590dacb upstream.
7
8The acpi_pad driver can get stuck in destroy_power_saving_task()
9waiting for kthread_stop() to stop a power_saving thread. The problem
10is that the isolated_cpus_lock mutex is owned when
11destroy_power_saving_task() calls kthread_stop(), which waits for a
12power_saving thread to end, and the power_saving thread tries to
13acquire the isolated_cpus_lock when it calls round_robin_cpu(). This
14patch fixes the issue by making round_robin_cpu() use its own mutex.
15
16https://bugzilla.kernel.org/show_bug.cgi?id=42981
17
18Signed-off-by: Stuart Hayes <Stuart_Hayes@Dell.com>
19Signed-off-by: Len Brown <len.brown@intel.com>
20Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
21---
22 drivers/acpi/acpi_pad.c | 7 ++++---
23 1 file changed, 4 insertions(+), 3 deletions(-)
24
25diff --git a/drivers/acpi/acpi_pad.c b/drivers/acpi/acpi_pad.c
26index a43fa1a..1502c502 100644
27--- a/drivers/acpi/acpi_pad.c
28+++ b/drivers/acpi/acpi_pad.c
29@@ -36,6 +36,7 @@
30 #define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator"
31 #define ACPI_PROCESSOR_AGGREGATOR_NOTIFY 0x80
32 static DEFINE_MUTEX(isolated_cpus_lock);
33+static DEFINE_MUTEX(round_robin_lock);
34
35 static unsigned long power_saving_mwait_eax;
36
37@@ -107,7 +108,7 @@ static void round_robin_cpu(unsigned int tsk_index)
38 if (!alloc_cpumask_var(&tmp, GFP_KERNEL))
39 return;
40
41- mutex_lock(&isolated_cpus_lock);
42+ mutex_lock(&round_robin_lock);
43 cpumask_clear(tmp);
44 for_each_cpu(cpu, pad_busy_cpus)
45 cpumask_or(tmp, tmp, topology_thread_cpumask(cpu));
46@@ -116,7 +117,7 @@ static void round_robin_cpu(unsigned int tsk_index)
47 if (cpumask_empty(tmp))
48 cpumask_andnot(tmp, cpu_online_mask, pad_busy_cpus);
49 if (cpumask_empty(tmp)) {
50- mutex_unlock(&isolated_cpus_lock);
51+ mutex_unlock(&round_robin_lock);
52 return;
53 }
54 for_each_cpu(cpu, tmp) {
55@@ -131,7 +132,7 @@ static void round_robin_cpu(unsigned int tsk_index)
56 tsk_in_cpu[tsk_index] = preferred_cpu;
57 cpumask_set_cpu(preferred_cpu, pad_busy_cpus);
58 cpu_weight[preferred_cpu]++;
59- mutex_unlock(&isolated_cpus_lock);
60+ mutex_unlock(&round_robin_lock);
61
62 set_cpus_allowed_ptr(current, cpumask_of(preferred_cpu));
63 }
64--
651.7.10
66
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0045-batman-adv-only-drop-packets-of-known-wifi-clients.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0045-batman-adv-only-drop-packets-of-known-wifi-clients.patch
new file mode 100644
index 00000000..ce2107d6
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0045-batman-adv-only-drop-packets-of-known-wifi-clients.patch
@@ -0,0 +1,55 @@
1From b3f045e43695ea8ac7c43715d0c98d58d488683d Mon Sep 17 00:00:00 2001
2From: Marek Lindner <lindner_marek@yahoo.de>
3Date: Wed, 20 Jun 2012 17:16:05 +0200
4Subject: [PATCH 45/46] batman-adv: only drop packets of known wifi clients
5
6commit 5870adc68fc39d81089f1e80efdf64b97e5c37a1 upstream.
7
8bug introduced with 59b699cdee039d75915c354da06937102d1f9a84
9
10If the source or destination mac address of an ethernet packet
11could not be found in the translation table the packet was
12dropped if AP isolation was turned on. This behavior would
13make it impossible to send broadcast packets over the mesh as
14the broadcast address will never enter the translation table.
15
16Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
17Acked-by: Antonio Quartulli <ordex@autistici.org>
18Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
19---
20 net/batman-adv/translation-table.c | 8 ++++----
21 1 file changed, 4 insertions(+), 4 deletions(-)
22
23diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
24index 5f09a57..088af45 100644
25--- a/net/batman-adv/translation-table.c
26+++ b/net/batman-adv/translation-table.c
27@@ -1816,10 +1816,10 @@ bool is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src, uint8_t *dst)
28 {
29 struct tt_local_entry *tt_local_entry = NULL;
30 struct tt_global_entry *tt_global_entry = NULL;
31- bool ret = true;
32+ bool ret = false;
33
34 if (!atomic_read(&bat_priv->ap_isolation))
35- return false;
36+ goto out;
37
38 tt_local_entry = tt_local_hash_find(bat_priv, dst);
39 if (!tt_local_entry)
40@@ -1829,10 +1829,10 @@ bool is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src, uint8_t *dst)
41 if (!tt_global_entry)
42 goto out;
43
44- if (_is_ap_isolated(tt_local_entry, tt_global_entry))
45+ if (!_is_ap_isolated(tt_local_entry, tt_global_entry))
46 goto out;
47
48- ret = false;
49+ ret = true;
50
51 out:
52 if (tt_global_entry)
53--
541.7.10
55
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0046-Linux-3.2.22.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0046-Linux-3.2.22.patch
new file mode 100644
index 00000000..f96d4a60
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0046-Linux-3.2.22.patch
@@ -0,0 +1,24 @@
1From 453efabb6ea10cbe4a726e9637b76991f39d3655 Mon Sep 17 00:00:00 2001
2From: Ben Hutchings <ben@decadent.org.uk>
3Date: Wed, 4 Jul 2012 05:44:35 +0100
4Subject: [PATCH 46/46] Linux 3.2.22
5
6---
7 Makefile | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-)
9
10diff --git a/Makefile b/Makefile
11index 7eb465e..9a7d921 100644
12--- a/Makefile
13+++ b/Makefile
14@@ -1,6 +1,6 @@
15 VERSION = 3
16 PATCHLEVEL = 2
17-SUBLEVEL = 21
18+SUBLEVEL = 22
19 EXTRAVERSION =
20 NAME = Saber-toothed Squirrel
21
22--
231.7.10
24
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0001-splice-fix-racy-pipe-buffers-uses.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0001-splice-fix-racy-pipe-buffers-uses.patch
new file mode 100644
index 00000000..6441cc29
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0001-splice-fix-racy-pipe-buffers-uses.patch
@@ -0,0 +1,298 @@
1From e02d361ade75d22d28ce36460954b4bc6439fc74 Mon Sep 17 00:00:00 2001
2From: Eric Dumazet <edumazet@google.com>
3Date: Tue, 12 Jun 2012 15:24:40 +0200
4Subject: [PATCH 01/49] splice: fix racy pipe->buffers uses
5
6commit 047fe3605235888f3ebcda0c728cb31937eadfe6 upstream.
7
8Dave Jones reported a kernel BUG at mm/slub.c:3474! triggered
9by splice_shrink_spd() called from vmsplice_to_pipe()
10
11commit 35f3d14dbbc5 (pipe: add support for shrinking and growing pipes)
12added capability to adjust pipe->buffers.
13
14Problem is some paths don't hold pipe mutex and assume pipe->buffers
15doesn't change for their duration.
16
17Fix this by adding nr_pages_max field in struct splice_pipe_desc, and
18use it in place of pipe->buffers where appropriate.
19
20splice_shrink_spd() loses its struct pipe_inode_info argument.
21
22Reported-by: Dave Jones <davej@redhat.com>
23Signed-off-by: Eric Dumazet <edumazet@google.com>
24Cc: Jens Axboe <axboe@kernel.dk>
25Cc: Alexander Viro <viro@zeniv.linux.org.uk>
26Cc: Tom Herbert <therbert@google.com>
27Tested-by: Dave Jones <davej@redhat.com>
28Signed-off-by: Jens Axboe <axboe@kernel.dk>
29[bwh: Backported to 3.2:
30 - Adjust context in vmsplice_to_pipe()
31 - Update one more call to splice_shrink_spd(), from skb_splice_bits()]
32Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
33---
34 fs/splice.c | 35 ++++++++++++++++++++---------------
35 include/linux/splice.h | 8 ++++----
36 kernel/relay.c | 5 +++--
37 kernel/trace/trace.c | 6 ++++--
38 mm/shmem.c | 3 ++-
39 net/core/skbuff.c | 3 ++-
40 6 files changed, 35 insertions(+), 25 deletions(-)
41
42diff --git a/fs/splice.c b/fs/splice.c
43index 6d0dfb8..014fcb4 100644
44--- a/fs/splice.c
45+++ b/fs/splice.c
46@@ -274,13 +274,16 @@ void spd_release_page(struct splice_pipe_desc *spd, unsigned int i)
47 * Check if we need to grow the arrays holding pages and partial page
48 * descriptions.
49 */
50-int splice_grow_spd(struct pipe_inode_info *pipe, struct splice_pipe_desc *spd)
51+int splice_grow_spd(const struct pipe_inode_info *pipe, struct splice_pipe_desc *spd)
52 {
53- if (pipe->buffers <= PIPE_DEF_BUFFERS)
54+ unsigned int buffers = ACCESS_ONCE(pipe->buffers);
55+
56+ spd->nr_pages_max = buffers;
57+ if (buffers <= PIPE_DEF_BUFFERS)
58 return 0;
59
60- spd->pages = kmalloc(pipe->buffers * sizeof(struct page *), GFP_KERNEL);
61- spd->partial = kmalloc(pipe->buffers * sizeof(struct partial_page), GFP_KERNEL);
62+ spd->pages = kmalloc(buffers * sizeof(struct page *), GFP_KERNEL);
63+ spd->partial = kmalloc(buffers * sizeof(struct partial_page), GFP_KERNEL);
64
65 if (spd->pages && spd->partial)
66 return 0;
67@@ -290,10 +293,9 @@ int splice_grow_spd(struct pipe_inode_info *pipe, struct splice_pipe_desc *spd)
68 return -ENOMEM;
69 }
70
71-void splice_shrink_spd(struct pipe_inode_info *pipe,
72- struct splice_pipe_desc *spd)
73+void splice_shrink_spd(struct splice_pipe_desc *spd)
74 {
75- if (pipe->buffers <= PIPE_DEF_BUFFERS)
76+ if (spd->nr_pages_max <= PIPE_DEF_BUFFERS)
77 return;
78
79 kfree(spd->pages);
80@@ -316,6 +318,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
81 struct splice_pipe_desc spd = {
82 .pages = pages,
83 .partial = partial,
84+ .nr_pages_max = PIPE_DEF_BUFFERS,
85 .flags = flags,
86 .ops = &page_cache_pipe_buf_ops,
87 .spd_release = spd_release_page,
88@@ -327,7 +330,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
89 index = *ppos >> PAGE_CACHE_SHIFT;
90 loff = *ppos & ~PAGE_CACHE_MASK;
91 req_pages = (len + loff + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
92- nr_pages = min(req_pages, pipe->buffers);
93+ nr_pages = min(req_pages, spd.nr_pages_max);
94
95 /*
96 * Lookup the (hopefully) full range of pages we need.
97@@ -498,7 +501,7 @@ fill_it:
98 if (spd.nr_pages)
99 error = splice_to_pipe(pipe, &spd);
100
101- splice_shrink_spd(pipe, &spd);
102+ splice_shrink_spd(&spd);
103 return error;
104 }
105
106@@ -599,6 +602,7 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos,
107 struct splice_pipe_desc spd = {
108 .pages = pages,
109 .partial = partial,
110+ .nr_pages_max = PIPE_DEF_BUFFERS,
111 .flags = flags,
112 .ops = &default_pipe_buf_ops,
113 .spd_release = spd_release_page,
114@@ -609,8 +613,8 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos,
115
116 res = -ENOMEM;
117 vec = __vec;
118- if (pipe->buffers > PIPE_DEF_BUFFERS) {
119- vec = kmalloc(pipe->buffers * sizeof(struct iovec), GFP_KERNEL);
120+ if (spd.nr_pages_max > PIPE_DEF_BUFFERS) {
121+ vec = kmalloc(spd.nr_pages_max * sizeof(struct iovec), GFP_KERNEL);
122 if (!vec)
123 goto shrink_ret;
124 }
125@@ -618,7 +622,7 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos,
126 offset = *ppos & ~PAGE_CACHE_MASK;
127 nr_pages = (len + offset + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
128
129- for (i = 0; i < nr_pages && i < pipe->buffers && len; i++) {
130+ for (i = 0; i < nr_pages && i < spd.nr_pages_max && len; i++) {
131 struct page *page;
132
133 page = alloc_page(GFP_USER);
134@@ -666,7 +670,7 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos,
135 shrink_ret:
136 if (vec != __vec)
137 kfree(vec);
138- splice_shrink_spd(pipe, &spd);
139+ splice_shrink_spd(&spd);
140 return res;
141
142 err:
143@@ -1616,6 +1620,7 @@ static long vmsplice_to_pipe(struct file *file, const struct iovec __user *iov,
144 struct splice_pipe_desc spd = {
145 .pages = pages,
146 .partial = partial,
147+ .nr_pages_max = PIPE_DEF_BUFFERS,
148 .flags = flags,
149 .ops = &user_page_pipe_buf_ops,
150 .spd_release = spd_release_page,
151@@ -1631,13 +1636,13 @@ static long vmsplice_to_pipe(struct file *file, const struct iovec __user *iov,
152
153 spd.nr_pages = get_iovec_page_array(iov, nr_segs, spd.pages,
154 spd.partial, flags & SPLICE_F_GIFT,
155- pipe->buffers);
156+ spd.nr_pages_max);
157 if (spd.nr_pages <= 0)
158 ret = spd.nr_pages;
159 else
160 ret = splice_to_pipe(pipe, &spd);
161
162- splice_shrink_spd(pipe, &spd);
163+ splice_shrink_spd(&spd);
164 return ret;
165 }
166
167diff --git a/include/linux/splice.h b/include/linux/splice.h
168index 26e5b61..09a545a 100644
169--- a/include/linux/splice.h
170+++ b/include/linux/splice.h
171@@ -51,7 +51,8 @@ struct partial_page {
172 struct splice_pipe_desc {
173 struct page **pages; /* page map */
174 struct partial_page *partial; /* pages[] may not be contig */
175- int nr_pages; /* number of pages in map */
176+ int nr_pages; /* number of populated pages in map */
177+ unsigned int nr_pages_max; /* pages[] & partial[] arrays size */
178 unsigned int flags; /* splice flags */
179 const struct pipe_buf_operations *ops;/* ops associated with output pipe */
180 void (*spd_release)(struct splice_pipe_desc *, unsigned int);
181@@ -85,9 +86,8 @@ extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *,
182 /*
183 * for dynamic pipe sizing
184 */
185-extern int splice_grow_spd(struct pipe_inode_info *, struct splice_pipe_desc *);
186-extern void splice_shrink_spd(struct pipe_inode_info *,
187- struct splice_pipe_desc *);
188+extern int splice_grow_spd(const struct pipe_inode_info *, struct splice_pipe_desc *);
189+extern void splice_shrink_spd(struct splice_pipe_desc *);
190 extern void spd_release_page(struct splice_pipe_desc *, unsigned int);
191
192 extern const struct pipe_buf_operations page_cache_pipe_buf_ops;
193diff --git a/kernel/relay.c b/kernel/relay.c
194index b6f803a..a535fc9 100644
195--- a/kernel/relay.c
196+++ b/kernel/relay.c
197@@ -1235,6 +1235,7 @@ static ssize_t subbuf_splice_actor(struct file *in,
198 struct splice_pipe_desc spd = {
199 .pages = pages,
200 .nr_pages = 0,
201+ .nr_pages_max = PIPE_DEF_BUFFERS,
202 .partial = partial,
203 .flags = flags,
204 .ops = &relay_pipe_buf_ops,
205@@ -1302,8 +1303,8 @@ static ssize_t subbuf_splice_actor(struct file *in,
206 ret += padding;
207
208 out:
209- splice_shrink_spd(pipe, &spd);
210- return ret;
211+ splice_shrink_spd(&spd);
212+ return ret;
213 }
214
215 static ssize_t relay_file_splice_read(struct file *in,
216diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
217index 697e49d..7e4edd3 100644
218--- a/kernel/trace/trace.c
219+++ b/kernel/trace/trace.c
220@@ -3456,6 +3456,7 @@ static ssize_t tracing_splice_read_pipe(struct file *filp,
221 .pages = pages_def,
222 .partial = partial_def,
223 .nr_pages = 0, /* This gets updated below. */
224+ .nr_pages_max = PIPE_DEF_BUFFERS,
225 .flags = flags,
226 .ops = &tracing_pipe_buf_ops,
227 .spd_release = tracing_spd_release_pipe,
228@@ -3527,7 +3528,7 @@ static ssize_t tracing_splice_read_pipe(struct file *filp,
229
230 ret = splice_to_pipe(pipe, &spd);
231 out:
232- splice_shrink_spd(pipe, &spd);
233+ splice_shrink_spd(&spd);
234 return ret;
235
236 out_err:
237@@ -4017,6 +4018,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos,
238 struct splice_pipe_desc spd = {
239 .pages = pages_def,
240 .partial = partial_def,
241+ .nr_pages_max = PIPE_DEF_BUFFERS,
242 .flags = flags,
243 .ops = &buffer_pipe_buf_ops,
244 .spd_release = buffer_spd_release,
245@@ -4104,7 +4106,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos,
246 }
247
248 ret = splice_to_pipe(pipe, &spd);
249- splice_shrink_spd(pipe, &spd);
250+ splice_shrink_spd(&spd);
251 out:
252 return ret;
253 }
254diff --git a/mm/shmem.c b/mm/shmem.c
255index 6c253f7..7a82174 100644
256--- a/mm/shmem.c
257+++ b/mm/shmem.c
258@@ -1359,6 +1359,7 @@ static ssize_t shmem_file_splice_read(struct file *in, loff_t *ppos,
259 struct splice_pipe_desc spd = {
260 .pages = pages,
261 .partial = partial,
262+ .nr_pages_max = PIPE_DEF_BUFFERS,
263 .flags = flags,
264 .ops = &page_cache_pipe_buf_ops,
265 .spd_release = spd_release_page,
266@@ -1447,7 +1448,7 @@ static ssize_t shmem_file_splice_read(struct file *in, loff_t *ppos,
267 if (spd.nr_pages)
268 error = splice_to_pipe(pipe, &spd);
269
270- splice_shrink_spd(pipe, &spd);
271+ splice_shrink_spd(&spd);
272
273 if (error > 0) {
274 *ppos += error;
275diff --git a/net/core/skbuff.c b/net/core/skbuff.c
276index 2ec200de..af9c3c6 100644
277--- a/net/core/skbuff.c
278+++ b/net/core/skbuff.c
279@@ -1663,6 +1663,7 @@ int skb_splice_bits(struct sk_buff *skb, unsigned int offset,
280 struct splice_pipe_desc spd = {
281 .pages = pages,
282 .partial = partial,
283+ .nr_pages_max = MAX_SKB_FRAGS,
284 .flags = flags,
285 .ops = &sock_pipe_buf_ops,
286 .spd_release = sock_spd_release,
287@@ -1709,7 +1710,7 @@ done:
288 lock_sock(sk);
289 }
290
291- splice_shrink_spd(pipe, &spd);
292+ splice_shrink_spd(&spd);
293 return ret;
294 }
295
296--
2971.7.10
298
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0002-umem-fix-up-unplugging.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0002-umem-fix-up-unplugging.patch
new file mode 100644
index 00000000..0b28837f
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0002-umem-fix-up-unplugging.patch
@@ -0,0 +1,86 @@
1From fd0fcfd8f28824587f180ccde95c03fca533ab05 Mon Sep 17 00:00:00 2001
2From: Tao Guo <glorioustao@gmail.com>
3Date: Wed, 13 Jun 2012 21:17:21 +0200
4Subject: [PATCH 02/49] umem: fix up unplugging
5
6commit 32587371ad3db2f9d335de10dbd8cffd4fff5669 upstream.
7
8Fix a regression introduced by 7eaceaccab5f40 ("block: remove per-queue
9plugging"). In that patch, Jens removed the whole mm_unplug_device()
10function, which used to be the trigger to make umem start to work.
11
12We need to implement unplugging to make umem start to work, or I/O will
13never be triggered.
14
15Signed-off-by: Tao Guo <Tao.Guo@emc.com>
16Cc: Neil Brown <neilb@suse.de>
17Cc: Jens Axboe <axboe@kernel.dk>
18Cc: Shaohua Li <shli@kernel.org>
19Acked-by: NeilBrown <neilb@suse.de>
20Signed-off-by: Jens Axboe <axboe@kernel.dk>
21Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
22---
23 drivers/block/umem.c | 40 ++++++++++++++++++++++++++++++++++++++++
24 1 file changed, 40 insertions(+)
25
26diff --git a/drivers/block/umem.c b/drivers/block/umem.c
27index aa27120..9a72277 100644
28--- a/drivers/block/umem.c
29+++ b/drivers/block/umem.c
30@@ -513,6 +513,44 @@ static void process_page(unsigned long data)
31 }
32 }
33
34+struct mm_plug_cb {
35+ struct blk_plug_cb cb;
36+ struct cardinfo *card;
37+};
38+
39+static void mm_unplug(struct blk_plug_cb *cb)
40+{
41+ struct mm_plug_cb *mmcb = container_of(cb, struct mm_plug_cb, cb);
42+
43+ spin_lock_irq(&mmcb->card->lock);
44+ activate(mmcb->card);
45+ spin_unlock_irq(&mmcb->card->lock);
46+ kfree(mmcb);
47+}
48+
49+static int mm_check_plugged(struct cardinfo *card)
50+{
51+ struct blk_plug *plug = current->plug;
52+ struct mm_plug_cb *mmcb;
53+
54+ if (!plug)
55+ return 0;
56+
57+ list_for_each_entry(mmcb, &plug->cb_list, cb.list) {
58+ if (mmcb->cb.callback == mm_unplug && mmcb->card == card)
59+ return 1;
60+ }
61+ /* Not currently on the callback list */
62+ mmcb = kmalloc(sizeof(*mmcb), GFP_ATOMIC);
63+ if (!mmcb)
64+ return 0;
65+
66+ mmcb->card = card;
67+ mmcb->cb.callback = mm_unplug;
68+ list_add(&mmcb->cb.list, &plug->cb_list);
69+ return 1;
70+}
71+
72 static void mm_make_request(struct request_queue *q, struct bio *bio)
73 {
74 struct cardinfo *card = q->queuedata;
75@@ -523,6 +561,8 @@ static void mm_make_request(struct request_queue *q, struct bio *bio)
76 *card->biotail = bio;
77 bio->bi_next = NULL;
78 card->biotail = &bio->bi_next;
79+ if (bio->bi_rw & REQ_SYNC || !mm_check_plugged(card))
80+ activate(card);
81 spin_unlock_irq(&card->lock);
82
83 return;
84--
851.7.10
86
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0003-mwifiex-fix-11n-rx-packet-drop-issue.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0003-mwifiex-fix-11n-rx-packet-drop-issue.patch
new file mode 100644
index 00000000..eef5de77
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0003-mwifiex-fix-11n-rx-packet-drop-issue.patch
@@ -0,0 +1,88 @@
1From 8c92af27a522bcec5dc2ced7b49b8f3f57492b21 Mon Sep 17 00:00:00 2001
2From: Stone Piao <piaoyun@marvell.com>
3Date: Wed, 20 Jun 2012 20:21:10 -0700
4Subject: [PATCH 03/49] mwifiex: fix 11n rx packet drop issue
5
6commit 925839243dc9aa4ef25305f5afd10ed18258a4ac upstream.
7
8Currently we check the sequence number of last packet received
9against start_win. If a sequence hole is detected, start_win is
10updated to next sequence number.
11
12Since the rx sequence number is initialized to 0, a corner case
13exists when BA setup happens immediately after association. As
140 is a valid sequence number, start_win gets increased to 1
15incorrectly. This causes the first packet with sequence number 0
16being dropped.
17
18Initialize rx sequence number as 0xffff and skip adjusting
19start_win if the sequence number remains 0xffff. The sequence
20number will be updated once the first packet is received.
21
22Signed-off-by: Stone Piao <piaoyun@marvell.com>
23Signed-off-by: Avinash Patil <patila@marvell.com>
24Signed-off-by: Kiran Divekar <dkiran@marvell.com>
25Signed-off-by: Bing Zhao <bzhao@marvell.com>
26Signed-off-by: John W. Linville <linville@tuxdriver.com>
27Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
28---
29 drivers/net/wireless/mwifiex/11n_rxreorder.c | 5 +++--
30 drivers/net/wireless/mwifiex/11n_rxreorder.h | 7 +++++++
31 drivers/net/wireless/mwifiex/wmm.c | 2 ++
32 3 files changed, 12 insertions(+), 2 deletions(-)
33
34diff --git a/drivers/net/wireless/mwifiex/11n_rxreorder.c b/drivers/net/wireless/mwifiex/11n_rxreorder.c
35index 7aa9aa0..39fd4d5 100644
36--- a/drivers/net/wireless/mwifiex/11n_rxreorder.c
37+++ b/drivers/net/wireless/mwifiex/11n_rxreorder.c
38@@ -267,7 +267,8 @@ mwifiex_11n_create_rx_reorder_tbl(struct mwifiex_private *priv, u8 *ta,
39 else
40 last_seq = priv->rx_seq[tid];
41
42- if (last_seq >= new_node->start_win)
43+ if (last_seq != MWIFIEX_DEF_11N_RX_SEQ_NUM &&
44+ last_seq >= new_node->start_win)
45 new_node->start_win = last_seq + 1;
46
47 new_node->win_size = win_size;
48@@ -611,5 +612,5 @@ void mwifiex_11n_cleanup_reorder_tbl(struct mwifiex_private *priv)
49 spin_unlock_irqrestore(&priv->rx_reorder_tbl_lock, flags);
50
51 INIT_LIST_HEAD(&priv->rx_reorder_tbl_ptr);
52- memset(priv->rx_seq, 0, sizeof(priv->rx_seq));
53+ mwifiex_reset_11n_rx_seq_num(priv);
54 }
55diff --git a/drivers/net/wireless/mwifiex/11n_rxreorder.h b/drivers/net/wireless/mwifiex/11n_rxreorder.h
56index 033c8ad..7128baa 100644
57--- a/drivers/net/wireless/mwifiex/11n_rxreorder.h
58+++ b/drivers/net/wireless/mwifiex/11n_rxreorder.h
59@@ -37,6 +37,13 @@
60
61 #define ADDBA_RSP_STATUS_ACCEPT 0
62
63+#define MWIFIEX_DEF_11N_RX_SEQ_NUM 0xffff
64+
65+static inline void mwifiex_reset_11n_rx_seq_num(struct mwifiex_private *priv)
66+{
67+ memset(priv->rx_seq, 0xff, sizeof(priv->rx_seq));
68+}
69+
70 int mwifiex_11n_rx_reorder_pkt(struct mwifiex_private *,
71 u16 seqNum,
72 u16 tid, u8 *ta,
73diff --git a/drivers/net/wireless/mwifiex/wmm.c b/drivers/net/wireless/mwifiex/wmm.c
74index 6c239c3..b94a349 100644
75--- a/drivers/net/wireless/mwifiex/wmm.c
76+++ b/drivers/net/wireless/mwifiex/wmm.c
77@@ -406,6 +406,8 @@ mwifiex_wmm_init(struct mwifiex_adapter *adapter)
78 priv->add_ba_param.tx_win_size = MWIFIEX_AMPDU_DEF_TXWINSIZE;
79 priv->add_ba_param.rx_win_size = MWIFIEX_AMPDU_DEF_RXWINSIZE;
80
81+ mwifiex_reset_11n_rx_seq_num(priv);
82+
83 atomic_set(&priv->wmm.tx_pkts_queued, 0);
84 atomic_set(&priv->wmm.highest_queued_prio, HIGH_PRIO_TID);
85 }
86--
871.7.10
88
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0004-mwifiex-fix-WPS-eapol-handshake-failure.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0004-mwifiex-fix-WPS-eapol-handshake-failure.patch
new file mode 100644
index 00000000..b25c446d
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0004-mwifiex-fix-WPS-eapol-handshake-failure.patch
@@ -0,0 +1,52 @@
1From ea7217bde3c1bbcb215d3b67a4308399ac1d574c Mon Sep 17 00:00:00 2001
2From: Stone Piao <piaoyun@marvell.com>
3Date: Wed, 20 Jun 2012 20:21:11 -0700
4Subject: [PATCH 04/49] mwifiex: fix WPS eapol handshake failure
5
6commit f03ba7e9a24e5e9efaad56bd1713b994ea556b16 upstream.
7
8After association, STA will go through eapol handshake with WPS
9enabled AP. It's observed that WPS handshake fails with some 11n
10AP. The reason for the failure is that the eapol packet is sent
11via 11n frame aggregation.
12
13The eapol packet should be sent directly without 11n aggregation.
14
15This patch fixes the problem by adding WPS session control while
16dequeuing Tx packets for transmission.
17
18Signed-off-by: Stone Piao <piaoyun@marvell.com>
19Signed-off-by: Avinash Patil <patila@marvell.com>
20Signed-off-by: Bing Zhao <bzhao@marvell.com>
21Signed-off-by: John W. Linville <linville@tuxdriver.com>
22[bwh: Backported to 3.2: reformat the if-statement per earlier
23 upstream commit c65a30f35f938b421ac67c34a9e70b0e49e6019a]
24Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
25---
26 drivers/net/wireless/mwifiex/wmm.c | 10 ++++++----
27 1 file changed, 6 insertions(+), 4 deletions(-)
28
29diff --git a/drivers/net/wireless/mwifiex/wmm.c b/drivers/net/wireless/mwifiex/wmm.c
30index b94a349..06fcf1e 100644
31--- a/drivers/net/wireless/mwifiex/wmm.c
32+++ b/drivers/net/wireless/mwifiex/wmm.c
33@@ -1211,10 +1211,12 @@ mwifiex_dequeue_tx_packet(struct mwifiex_adapter *adapter)
34 return 0;
35 }
36
37- if (!ptr->is_11n_enabled || mwifiex_is_ba_stream_setup(priv, ptr, tid)
38- || ((priv->sec_info.wpa_enabled
39- || priv->sec_info.wpa2_enabled) && !priv->wpa_is_gtk_set)
40- ) {
41+ if (!ptr->is_11n_enabled ||
42+ mwifiex_is_ba_stream_setup(priv, ptr, tid) ||
43+ priv->wps.session_enable ||
44+ ((priv->sec_info.wpa_enabled ||
45+ priv->sec_info.wpa2_enabled) &&
46+ !priv->wpa_is_gtk_set)) {
47 mwifiex_send_single_packet(priv, ptr, ptr_index, flags);
48 /* ra_list_spinlock has been freed in
49 mwifiex_send_single_packet() */
50--
511.7.10
52
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0005-NFC-Prevent-multiple-buffer-overflows-in-NCI.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0005-NFC-Prevent-multiple-buffer-overflows-in-NCI.patch
new file mode 100644
index 00000000..10ae6473
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0005-NFC-Prevent-multiple-buffer-overflows-in-NCI.patch
@@ -0,0 +1,52 @@
1From e7d858dec1d8cf3c283019ff51adae14b8be9388 Mon Sep 17 00:00:00 2001
2From: Dan Rosenberg <dan.j.rosenberg@gmail.com>
3Date: Mon, 25 Jun 2012 16:05:27 +0200
4Subject: [PATCH 05/49] NFC: Prevent multiple buffer overflows in NCI
5
6commit 67de956ff5dc1d4f321e16cfbd63f5be3b691b43 upstream.
7
8Fix multiple remotely-exploitable stack-based buffer overflows due to
9the NCI code pulling length fields directly from incoming frames and
10copying too much data into statically-sized arrays.
11
12Signed-off-by: Dan Rosenberg <dan.j.rosenberg@gmail.com>
13Cc: security@kernel.org
14Cc: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
15Cc: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
16Cc: Samuel Ortiz <sameo@linux.intel.com>
17Cc: David S. Miller <davem@davemloft.net>
18Acked-by: Ilan Elias <ilane@ti.com>
19Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
20[bwh: Backported to 3.2:
21 - Drop changes to parsing of tech B and tech F parameters
22 - Various renaming]
23Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
24---
25 net/nfc/nci/ntf.c | 4 ++--
26 1 file changed, 2 insertions(+), 2 deletions(-)
27
28diff --git a/net/nfc/nci/ntf.c b/net/nfc/nci/ntf.c
29index 96633f5..12b6a80 100644
30--- a/net/nfc/nci/ntf.c
31+++ b/net/nfc/nci/ntf.c
32@@ -86,7 +86,7 @@ static int nci_rf_activate_nfca_passive_poll(struct nci_dev *ndev,
33 nfca_poll->sens_res = __le16_to_cpu(*((__u16 *)data));
34 data += 2;
35
36- nfca_poll->nfcid1_len = *data++;
37+ nfca_poll->nfcid1_len = min_t(__u8, *data++, sizeof(nfca_poll->nfcid1));
38
39 nfc_dbg("sens_res 0x%x, nfcid1_len %d",
40 nfca_poll->sens_res,
41@@ -111,7 +111,7 @@ static int nci_rf_activate_nfca_passive_poll(struct nci_dev *ndev,
42
43 switch (ntf->rf_interface_type) {
44 case NCI_RF_INTERFACE_ISO_DEP:
45- nfca_poll_iso_dep->rats_res_len = *data++;
46+ nfca_poll_iso_dep->rats_res_len = min_t(__u8, *data++, 20);
47 if (nfca_poll_iso_dep->rats_res_len > 0) {
48 memcpy(nfca_poll_iso_dep->rats_res,
49 data,
50--
511.7.10
52
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0006-ath9k-fix-dynamic-WEP-related-regression.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0006-ath9k-fix-dynamic-WEP-related-regression.patch
new file mode 100644
index 00000000..e8fe4149
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0006-ath9k-fix-dynamic-WEP-related-regression.patch
@@ -0,0 +1,80 @@
1From 11f5e090b288e9e933c8b7790626db9a5beef760 Mon Sep 17 00:00:00 2001
2From: Felix Fietkau <nbd@openwrt.org>
3Date: Sat, 23 Jun 2012 19:23:31 +0200
4Subject: [PATCH 06/49] ath9k: fix dynamic WEP related regression
5
6commit bed3d9c0b71f9afbfec905cb6db3b9f16be29d4d upstream.
7
8commit 7a532fe7131216a02c81a6c1b1f8632da1195a58
9ath9k_hw: fix interpretation of the rx KeyMiss flag
10
11This commit used the rx key miss indication to detect packets that were
12passed from the hardware without being decrypted, however it seems that
13this bit is not only undefined in the static WEP case, but also for
14dynamically allocated WEP keys. This caused a regression when using
15WEP-LEAP.
16
17This patch fixes the regression by keeping track of which key indexes
18refer to CCMP keys and only using the key miss indication for those.
19
20Reported-by: Stanislaw Gruszka <sgruszka@redhat.com>
21Signed-off-by: Felix Fietkau <nbd@openwrt.org>
22Signed-off-by: John W. Linville <linville@tuxdriver.com>
23Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
24---
25 drivers/net/wireless/ath/ath.h | 1 +
26 drivers/net/wireless/ath/ath9k/recv.c | 3 ++-
27 drivers/net/wireless/ath/key.c | 4 ++++
28 3 files changed, 7 insertions(+), 1 deletion(-)
29
30diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
31index 0f9ee46..4cc4a8b 100644
32--- a/drivers/net/wireless/ath/ath.h
33+++ b/drivers/net/wireless/ath/ath.h
34@@ -143,6 +143,7 @@ struct ath_common {
35 u32 keymax;
36 DECLARE_BITMAP(keymap, ATH_KEYMAX);
37 DECLARE_BITMAP(tkip_keymap, ATH_KEYMAX);
38+ DECLARE_BITMAP(ccmp_keymap, ATH_KEYMAX);
39 enum ath_crypt_caps crypt_caps;
40
41 unsigned int clockrate;
42diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
43index 2f3aeac..e6d791c 100644
44--- a/drivers/net/wireless/ath/ath9k/recv.c
45+++ b/drivers/net/wireless/ath/ath9k/recv.c
46@@ -829,7 +829,8 @@ static bool ath9k_rx_accept(struct ath_common *common,
47 * descriptor does contain a valid key index. This has been observed
48 * mostly with CCMP encryption.
49 */
50- if (rx_stats->rs_keyix == ATH9K_RXKEYIX_INVALID)
51+ if (rx_stats->rs_keyix == ATH9K_RXKEYIX_INVALID ||
52+ !test_bit(rx_stats->rs_keyix, common->ccmp_keymap))
53 rx_stats->rs_status &= ~ATH9K_RXERR_KEYMISS;
54
55 if (!rx_stats->rs_datalen)
56diff --git a/drivers/net/wireless/ath/key.c b/drivers/net/wireless/ath/key.c
57index 4cf7c5e..1ec3fa5 100644
58--- a/drivers/net/wireless/ath/key.c
59+++ b/drivers/net/wireless/ath/key.c
60@@ -556,6 +556,9 @@ int ath_key_config(struct ath_common *common,
61 return -EIO;
62
63 set_bit(idx, common->keymap);
64+ if (key->cipher == WLAN_CIPHER_SUITE_CCMP)
65+ set_bit(idx, common->ccmp_keymap);
66+
67 if (key->cipher == WLAN_CIPHER_SUITE_TKIP) {
68 set_bit(idx + 64, common->keymap);
69 set_bit(idx, common->tkip_keymap);
70@@ -582,6 +585,7 @@ void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf *key)
71 return;
72
73 clear_bit(key->hw_key_idx, common->keymap);
74+ clear_bit(key->hw_key_idx, common->ccmp_keymap);
75 if (key->cipher != WLAN_CIPHER_SUITE_TKIP)
76 return;
77
78--
791.7.10
80
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0007-NFC-Return-from-rawsock_release-when-sk-is-NULL.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0007-NFC-Return-from-rawsock_release-when-sk-is-NULL.patch
new file mode 100644
index 00000000..43801f4d
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0007-NFC-Return-from-rawsock_release-when-sk-is-NULL.patch
@@ -0,0 +1,107 @@
1From fd1f8dc4e31b8daeec0cb785256de7297a06e300 Mon Sep 17 00:00:00 2001
2From: Eric Dumazet <edumazet@google.com>
3Date: Tue, 12 Jun 2012 00:47:58 +0200
4Subject: [PATCH 07/49] NFC: Return from rawsock_release when sk is NULL
5
6commit 03e934f620101ca2cfc9383bd76172dd3e1f8567 upstream.
7
8Sasha Levin reported following panic :
9
10[ 2136.383310] BUG: unable to handle kernel NULL pointer dereference at
1100000000000003b0
12[ 2136.384022] IP: [<ffffffff8114e400>] __lock_acquire+0xc0/0x4b0
13[ 2136.384022] PGD 131c4067 PUD 11c0c067 PMD 0
14[ 2136.388106] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
15[ 2136.388106] CPU 1
16[ 2136.388106] Pid: 24855, comm: trinity-child1 Tainted: G W
173.5.0-rc2-sasha-00015-g7b268f7 #374
18[ 2136.388106] RIP: 0010:[<ffffffff8114e400>] [<ffffffff8114e400>]
19__lock_acquire+0xc0/0x4b0
20[ 2136.388106] RSP: 0018:ffff8800130b3ca8 EFLAGS: 00010046
21[ 2136.388106] RAX: 0000000000000086 RBX: ffff88001186b000 RCX:
220000000000000000
23[ 2136.388106] RDX: 0000000000000000 RSI: 0000000000000000 RDI:
240000000000000000
25[ 2136.388106] RBP: ffff8800130b3d08 R08: 0000000000000001 R09:
260000000000000000
27[ 2136.388106] R10: 0000000000000000 R11: 0000000000000001 R12:
280000000000000002
29[ 2136.388106] R13: 00000000000003b0 R14: 0000000000000000 R15:
300000000000000000
31[ 2136.388106] FS: 00007fa5b1bd4700(0000) GS:ffff88001b800000(0000)
32knlGS:0000000000000000
33[ 2136.388106] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
34[ 2136.388106] CR2: 00000000000003b0 CR3: 0000000011d1f000 CR4:
3500000000000406e0
36[ 2136.388106] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
370000000000000000
38[ 2136.388106] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
390000000000000400
40[ 2136.388106] Process trinity-child1 (pid: 24855, threadinfo
41ffff8800130b2000, task ffff88001186b000)
42[ 2136.388106] Stack:
43[ 2136.388106] ffff8800130b3cd8 ffffffff81121785 ffffffff81236774
44000080d000000001
45[ 2136.388106] ffff88001b9d6c00 00000000001d6c00 ffffffff130b3d08
46ffff88001186b000
47[ 2136.388106] 0000000000000000 0000000000000002 0000000000000000
480000000000000000
49[ 2136.388106] Call Trace:
50[ 2136.388106] [<ffffffff81121785>] ? sched_clock_local+0x25/0x90
51[ 2136.388106] [<ffffffff81236774>] ? get_empty_filp+0x74/0x220
52[ 2136.388106] [<ffffffff8114e97a>] lock_acquire+0x18a/0x1e0
53[ 2136.388106] [<ffffffff836b37df>] ? rawsock_release+0x4f/0xa0
54[ 2136.388106] [<ffffffff837c0ef0>] _raw_write_lock_bh+0x40/0x80
55[ 2136.388106] [<ffffffff836b37df>] ? rawsock_release+0x4f/0xa0
56[ 2136.388106] [<ffffffff836b37df>] rawsock_release+0x4f/0xa0
57[ 2136.388106] [<ffffffff8321cfe8>] sock_release+0x18/0x70
58[ 2136.388106] [<ffffffff8321d069>] sock_close+0x29/0x30
59[ 2136.388106] [<ffffffff81236bca>] __fput+0x11a/0x2c0
60[ 2136.388106] [<ffffffff81236d85>] fput+0x15/0x20
61[ 2136.388106] [<ffffffff8321de34>] sys_accept4+0x1b4/0x200
62[ 2136.388106] [<ffffffff837c165c>] ? _raw_spin_unlock_irq+0x4c/0x80
63[ 2136.388106] [<ffffffff837c1669>] ? _raw_spin_unlock_irq+0x59/0x80
64[ 2136.388106] [<ffffffff837c2565>] ? sysret_check+0x22/0x5d
65[ 2136.388106] [<ffffffff8321de8b>] sys_accept+0xb/0x10
66[ 2136.388106] [<ffffffff837c2539>] system_call_fastpath+0x16/0x1b
67[ 2136.388106] Code: ec 04 00 0f 85 ea 03 00 00 be d5 0b 00 00 48 c7 c7
688a c1 40 84 e8 b1 a5 f8 ff 31 c0 e9 d4 03 00 00 66 2e 0f 1f 84 00 00 00
6900 00 <49> 81 7d 00 60 73 5e 85 b8 01 00 00 00 44 0f 44 e0 83 fe 01 77
70[ 2136.388106] RIP [<ffffffff8114e400>] __lock_acquire+0xc0/0x4b0
71[ 2136.388106] RSP <ffff8800130b3ca8>
72[ 2136.388106] CR2: 00000000000003b0
73[ 2136.388106] ---[ end trace 6d450e935ee18982 ]---
74[ 2136.388106] Kernel panic - not syncing: Fatal exception in interrupt
75
76rawsock_release() should test if sock->sk is NULL before calling
77sock_orphan()/sock_put()
78
79Reported-by: Sasha Levin <levinsasha928@gmail.com>
80Tested-by: Sasha Levin <levinsasha928@gmail.com>
81Signed-off-by: Eric Dumazet <edumazet@google.com>
82Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
83[bwh: Backported to 3.2: keep using nfc_dbg(), not pr_debug()]
84Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
85---
86 net/nfc/rawsock.c | 5 ++++-
87 1 file changed, 4 insertions(+), 1 deletion(-)
88
89diff --git a/net/nfc/rawsock.c b/net/nfc/rawsock.c
90index ee7b2b3..7a167fc 100644
91--- a/net/nfc/rawsock.c
92+++ b/net/nfc/rawsock.c
93@@ -52,7 +52,10 @@ static int rawsock_release(struct socket *sock)
94 {
95 struct sock *sk = sock->sk;
96
97- nfc_dbg("sock=%p", sock);
98+ nfc_dbg("sock=%p sk=%p", sock, sk);
99+
100+ if (!sk)
101+ return 0;
102
103 sock_orphan(sk);
104 sock_put(sk);
105--
1061.7.10
107
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0008-rtlwifi-rtl8192cu-New-USB-IDs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0008-rtlwifi-rtl8192cu-New-USB-IDs.patch
new file mode 100644
index 00000000..99f6f601
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0008-rtlwifi-rtl8192cu-New-USB-IDs.patch
@@ -0,0 +1,45 @@
1From a771eb7b20c60a73ec422943dd387fbca27cf94d Mon Sep 17 00:00:00 2001
2From: Larry Finger <Larry.Finger@lwfinger.net>
3Date: Mon, 25 Jun 2012 18:01:12 -0500
4Subject: [PATCH 08/49] rtlwifi: rtl8192cu: New USB IDs
5
6commit f63d7dabd5da9ef41f28f6d69b29bc084db0ca5a upstream.
7
8The latest Realtek driver for the RTL8188CU and RTL8192CU chips adds three
9new USB IDs.
10
11Reported-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
12Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
13Signed-off-by: John W. Linville <linville@tuxdriver.com>
14Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
15---
16 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c | 3 +++
17 1 file changed, 3 insertions(+)
18
19diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
20index 94a3e17..0302148 100644
21--- a/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
22+++ b/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
23@@ -311,9 +311,11 @@ static struct usb_device_id rtl8192c_usb_ids[] = {
24 {RTL_USB_DEVICE(0x07b8, 0x8188, rtl92cu_hal_cfg)}, /*Abocom - Abocom*/
25 {RTL_USB_DEVICE(0x07b8, 0x8189, rtl92cu_hal_cfg)}, /*Funai - Abocom*/
26 {RTL_USB_DEVICE(0x0846, 0x9041, rtl92cu_hal_cfg)}, /*NetGear WNA1000M*/
27+ {RTL_USB_DEVICE(0x0bda, 0x5088, rtl92cu_hal_cfg)}, /*Thinkware-CC&C*/
28 {RTL_USB_DEVICE(0x0df6, 0x0052, rtl92cu_hal_cfg)}, /*Sitecom - Edimax*/
29 {RTL_USB_DEVICE(0x0df6, 0x005c, rtl92cu_hal_cfg)}, /*Sitecom - Edimax*/
30 {RTL_USB_DEVICE(0x0eb0, 0x9071, rtl92cu_hal_cfg)}, /*NO Brand - Etop*/
31+ {RTL_USB_DEVICE(0x4856, 0x0091, rtl92cu_hal_cfg)}, /*NetweeN - Feixun*/
32 /* HP - Lite-On ,8188CUS Slim Combo */
33 {RTL_USB_DEVICE(0x103c, 0x1629, rtl92cu_hal_cfg)},
34 {RTL_USB_DEVICE(0x13d3, 0x3357, rtl92cu_hal_cfg)}, /* AzureWave */
35@@ -355,6 +357,7 @@ static struct usb_device_id rtl8192c_usb_ids[] = {
36 {RTL_USB_DEVICE(0x07b8, 0x8178, rtl92cu_hal_cfg)}, /*Funai -Abocom*/
37 {RTL_USB_DEVICE(0x0846, 0x9021, rtl92cu_hal_cfg)}, /*Netgear-Sercomm*/
38 {RTL_USB_DEVICE(0x0b05, 0x17ab, rtl92cu_hal_cfg)}, /*ASUS-Edimax*/
39+ {RTL_USB_DEVICE(0x0bda, 0x8186, rtl92cu_hal_cfg)}, /*Realtek 92CE-VAU*/
40 {RTL_USB_DEVICE(0x0df6, 0x0061, rtl92cu_hal_cfg)}, /*Sitecom-Edimax*/
41 {RTL_USB_DEVICE(0x0e66, 0x0019, rtl92cu_hal_cfg)}, /*Hawking-Edimax*/
42 {RTL_USB_DEVICE(0x2001, 0x3307, rtl92cu_hal_cfg)}, /*D-Link-Cameo*/
43--
441.7.10
45
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0009-ath9k-enable-serialize_regmode-for-non-PCIE-AR9287.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0009-ath9k-enable-serialize_regmode-for-non-PCIE-AR9287.patch
new file mode 100644
index 00000000..383dda2c
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0009-ath9k-enable-serialize_regmode-for-non-PCIE-AR9287.patch
@@ -0,0 +1,34 @@
1From f65b74252f667d75391a86a6dee82aefb0e9b983 Mon Sep 17 00:00:00 2001
2From: Panayiotis Karabassis <panayk@gmail.com>
3Date: Tue, 26 Jun 2012 23:37:17 +0300
4Subject: [PATCH 09/49] ath9k: enable serialize_regmode for non-PCIE AR9287
5
6commit 7508b657967cf664b5aa0f6367d05016e7e3bc2a upstream.
7
8https://bugzilla.kernel.org/show_bug.cgi?id=42903
9
10Based on the work of <fynivx@gmail.com>
11
12Signed-off-by: Panayiotis Karabassis <panayk@gmail.com>
13Signed-off-by: John W. Linville <linville@tuxdriver.com>
14Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
15---
16 drivers/net/wireless/ath/ath9k/hw.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
20index 6973620..7f97164 100644
21--- a/drivers/net/wireless/ath/ath9k/hw.c
22+++ b/drivers/net/wireless/ath/ath9k/hw.c
23@@ -557,7 +557,7 @@ static int __ath9k_hw_init(struct ath_hw *ah)
24
25 if (ah->config.serialize_regmode == SER_REG_MODE_AUTO) {
26 if (ah->hw_version.macVersion == AR_SREV_VERSION_5416_PCI ||
27- ((AR_SREV_9160(ah) || AR_SREV_9280(ah)) &&
28+ ((AR_SREV_9160(ah) || AR_SREV_9280(ah) || AR_SREV_9287(ah)) &&
29 !ah->is_pciexpress)) {
30 ah->config.serialize_regmode =
31 SER_REG_MODE_ON;
32--
331.7.10
34
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0010-mac80211-correct-behaviour-on-unrecognised-action-fr.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0010-mac80211-correct-behaviour-on-unrecognised-action-fr.patch
new file mode 100644
index 00000000..3aafce85
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0010-mac80211-correct-behaviour-on-unrecognised-action-fr.patch
@@ -0,0 +1,48 @@
1From 21cdc703702f7ffbf440dc29b68044ac13363078 Mon Sep 17 00:00:00 2001
2From: Johannes Berg <johannes.berg@intel.com>
3Date: Wed, 27 Jun 2012 15:38:56 +0200
4Subject: [PATCH 10/49] mac80211: correct behaviour on unrecognised action
5 frames
6
7commit 4b5ebccc40843104d980f0714bc86bfcd5568941 upstream.
8
9When receiving an "individually addressed" action frame, the
10receiver is required to return it to the sender. mac80211
11gets this wrong as it also returns group addressed (mcast)
12frames to the sender. Fix this and update the reference to
13the new 802.11 standards version since things were shuffled
14around significantly.
15
16Signed-off-by: Johannes Berg <johannes.berg@intel.com>
17Signed-off-by: John W. Linville <linville@tuxdriver.com>
18Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
19---
20 net/mac80211/rx.c | 5 ++++-
21 1 file changed, 4 insertions(+), 1 deletion(-)
22
23diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
24index 064d20f..cda4875 100644
25--- a/net/mac80211/rx.c
26+++ b/net/mac80211/rx.c
27@@ -2389,7 +2389,7 @@ ieee80211_rx_h_action_return(struct ieee80211_rx_data *rx)
28 * frames that we didn't handle, including returning unknown
29 * ones. For all other modes we will return them to the sender,
30 * setting the 0x80 bit in the action category, as required by
31- * 802.11-2007 7.3.1.11.
32+ * 802.11-2012 9.24.4.
33 * Newer versions of hostapd shall also use the management frame
34 * registration mechanisms, but older ones still use cooked
35 * monitor interfaces so push all frames there.
36@@ -2399,6 +2399,9 @@ ieee80211_rx_h_action_return(struct ieee80211_rx_data *rx)
37 sdata->vif.type == NL80211_IFTYPE_AP_VLAN))
38 return RX_DROP_MONITOR;
39
40+ if (is_multicast_ether_addr(mgmt->da))
41+ return RX_DROP_MONITOR;
42+
43 /* do not return rejected action frames */
44 if (mgmt->u.action.category & 0x80)
45 return RX_DROP_UNUSABLE;
46--
471.7.10
48
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0011-ASoC-tlv320aic3x-Fix-codec-pll-configure-bug.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0011-ASoC-tlv320aic3x-Fix-codec-pll-configure-bug.patch
new file mode 100644
index 00000000..29139a1b
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0011-ASoC-tlv320aic3x-Fix-codec-pll-configure-bug.patch
@@ -0,0 +1,62 @@
1From 8ba42ffb182648185f9f5f924d26cf97b6be721f Mon Sep 17 00:00:00 2001
2From: "Hebbar, Gururaja" <gururaja.hebbar@ti.com>
3Date: Tue, 26 Jun 2012 19:25:11 +0530
4Subject: [PATCH 11/49] ASoC: tlv320aic3x: Fix codec pll configure bug
5
6commit c9fe573a6584034670c1a55ee8162d623519cbbf upstream.
7
8In sound/soc/codecs/tlv320aic3x.c
9
10 data = snd_soc_read(codec, AIC3X_PLL_PROGA_REG);
11 snd_soc_write(codec, AIC3X_PLL_PROGA_REG,
12 data | (pll_p << PLLP_SHIFT));
13
14In the above code, pll-p value is OR'ed with previous value without
15clearing it. Bug is not seen if pll-p value doesn't change across
16Sampling frequency.
17
18However on some platforms (like AM335x EVM-SK), pll-p may have different
19values across different sampling frequencies. In such case, above code
20configures the pll with a wrong value.
21Because of this bug, when a audio stream is played with pll value
22different from previous stream, audio is heard as differently(like its
23stretched).
24
25Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
26Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
27Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
28---
29 sound/soc/codecs/tlv320aic3x.c | 4 +---
30 sound/soc/codecs/tlv320aic3x.h | 1 +
31 2 files changed, 2 insertions(+), 3 deletions(-)
32
33diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
34index d0dbac1..cdb473c 100644
35--- a/sound/soc/codecs/tlv320aic3x.c
36+++ b/sound/soc/codecs/tlv320aic3x.c
37@@ -963,9 +963,7 @@ static int aic3x_hw_params(struct snd_pcm_substream *substream,
38 }
39
40 found:
41- data = snd_soc_read(codec, AIC3X_PLL_PROGA_REG);
42- snd_soc_write(codec, AIC3X_PLL_PROGA_REG,
43- data | (pll_p << PLLP_SHIFT));
44+ snd_soc_update_bits(codec, AIC3X_PLL_PROGA_REG, PLLP_MASK, pll_p);
45 snd_soc_write(codec, AIC3X_OVRF_STATUS_AND_PLLR_REG,
46 pll_r << PLLR_SHIFT);
47 snd_soc_write(codec, AIC3X_PLL_PROGB_REG, pll_j << PLLJ_SHIFT);
48diff --git a/sound/soc/codecs/tlv320aic3x.h b/sound/soc/codecs/tlv320aic3x.h
49index 06a1978..16d9999 100644
50--- a/sound/soc/codecs/tlv320aic3x.h
51+++ b/sound/soc/codecs/tlv320aic3x.h
52@@ -166,6 +166,7 @@
53
54 /* PLL registers bitfields */
55 #define PLLP_SHIFT 0
56+#define PLLP_MASK 7
57 #define PLLQ_SHIFT 3
58 #define PLLR_SHIFT 0
59 #define PLLJ_SHIFT 2
60--
611.7.10
62
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0012-powerpc-xmon-Use-cpumask-iterator-to-avoid-warning.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0012-powerpc-xmon-Use-cpumask-iterator-to-avoid-warning.patch
new file mode 100644
index 00000000..217ab5d6
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0012-powerpc-xmon-Use-cpumask-iterator-to-avoid-warning.patch
@@ -0,0 +1,56 @@
1From 6d7506b0391c86ac347dce94f2c4642ce126cf45 Mon Sep 17 00:00:00 2001
2From: Anton Blanchard <anton@samba.org>
3Date: Thu, 28 Jun 2012 19:28:57 +0000
4Subject: [PATCH 12/49] powerpc/xmon: Use cpumask iterator to avoid warning
5
6commit bc1d7702910c7c7e88eb60b58429dbfe293683ce upstream.
7
8We have a bug report where the kernel hits a warning in the cpumask
9code:
10
11WARNING: at include/linux/cpumask.h:107
12
13Which is:
14 WARN_ON_ONCE(cpu >= nr_cpumask_bits);
15
16The backtrace is:
17 cpu_cmd
18 cmds
19 xmon_core
20 xmon
21 die
22
23xmon is iterating through 0 to NR_CPUS. I'm not sure why we are still
24open coding this but iterating above nr_cpu_ids is definitely a bug.
25
26This patch iterates through all possible cpus, in case we issue a
27system reset and CPUs in an offline state call in.
28
29Perhaps the old code was trying to handle CPUs that were in the
30partition but were never started (eg kexec into a kernel with an
31nr_cpus= boot option). They are going to die way before we get into
32xmon since we haven't set any kernel state up for them.
33
34Signed-off-by: Anton Blanchard <anton@samba.org>
35Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
36Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
37---
38 arch/powerpc/xmon/xmon.c | 2 +-
39 1 file changed, 1 insertion(+), 1 deletion(-)
40
41diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
42index 03a217a..b7e63d8 100644
43--- a/arch/powerpc/xmon/xmon.c
44+++ b/arch/powerpc/xmon/xmon.c
45@@ -975,7 +975,7 @@ static int cpu_cmd(void)
46 /* print cpus waiting or in xmon */
47 printf("cpus stopped:");
48 count = 0;
49- for (cpu = 0; cpu < NR_CPUS; ++cpu) {
50+ for_each_possible_cpu(cpu) {
51 if (cpumask_test_cpu(cpu, &cpus_in_xmon)) {
52 if (count == 0)
53 printf(" %x", cpu);
54--
551.7.10
56
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0013-powerpc-kvm-sldi-should-be-sld.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0013-powerpc-kvm-sldi-should-be-sld.patch
new file mode 100644
index 00000000..9f77ca50
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0013-powerpc-kvm-sldi-should-be-sld.patch
@@ -0,0 +1,40 @@
1From af803001738a2e5609dbbe767f8f7a61bef3cf9c Mon Sep 17 00:00:00 2001
2From: Michael Neuling <mikey@neuling.org>
3Date: Mon, 25 Jun 2012 13:33:11 +0000
4Subject: [PATCH 13/49] powerpc/kvm: sldi should be sld
5
6commit 2f584a146a2965b82fce89b8d2f95dc5cfe468d0 upstream.
7
8Since we are taking a registers, this should never have been an sldi.
9Talking to paulus offline, this is the correct fix.
10
11Was introduced by:
12 commit 19ccb76a1938ab364a412253daec64613acbf3df
13 Author: Paul Mackerras <paulus@samba.org>
14 Date: Sat Jul 23 17:42:46 2011 +1000
15
16Talking to paulus, this shouldn't be a literal.
17
18Signed-off-by: Michael Neuling <mikey@neuling.org>
19Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
20Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
21---
22 arch/powerpc/kvm/book3s_hv_rmhandlers.S | 2 +-
23 1 file changed, 1 insertion(+), 1 deletion(-)
24
25diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
26index 44d8829..5e8dc08 100644
27--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
28+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
29@@ -763,7 +763,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_201)
30 lwz r3,VCORE_NAPPING_THREADS(r5)
31 lwz r4,VCPU_PTID(r9)
32 li r0,1
33- sldi r0,r0,r4
34+ sld r0,r0,r4
35 andc. r3,r3,r0 /* no sense IPI'ing ourselves */
36 beq 43f
37 mulli r4,r4,PACA_SIZE /* get paca for thread 0 */
38--
391.7.10
40
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0014-md-raid10-Don-t-try-to-recovery-unmatched-and-unused.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0014-md-raid10-Don-t-try-to-recovery-unmatched-and-unused.patch
new file mode 100644
index 00000000..e6c64f5d
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0014-md-raid10-Don-t-try-to-recovery-unmatched-and-unused.patch
@@ -0,0 +1,50 @@
1From 8002ce8e1b7a0ef6b60567ed63ed12fe6780b98a Mon Sep 17 00:00:00 2001
2From: NeilBrown <neilb@suse.de>
3Date: Tue, 3 Jul 2012 10:37:30 +1000
4Subject: [PATCH 14/49] md/raid10: Don't try to recovery unmatched (and
5 unused) chunks.
6
7commit fc448a18ae6219af9a73257b1fbcd009efab4a81 upstream.
8
9If a RAID10 has an odd number of chunks - as might happen when there
10are an odd number of devices - the last chunk has no pair and so is
11not mirrored. We don't store data there, but when recovering the last
12device in an array we retry to recover that last chunk from a
13non-existent location. This results in an error, and the recovery
14aborts.
15
16When we get to that last chunk we should just stop - there is nothing
17more to do anyway.
18
19This bug has been present since the introduction of RAID10, so the
20patch is appropriate for any -stable kernel.
21
22Reported-by: Christian Balzer <chibi@gol.com>
23Tested-by: Christian Balzer <chibi@gol.com>
24Signed-off-by: NeilBrown <neilb@suse.de>
25[bwh: Backported to 3.2: adjust context]
26Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
27---
28 drivers/md/raid10.c | 6 ++++++
29 1 file changed, 6 insertions(+)
30
31diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
32index b219449..3b67566 100644
33--- a/drivers/md/raid10.c
34+++ b/drivers/md/raid10.c
35@@ -2436,6 +2436,12 @@ static sector_t sync_request(struct mddev *mddev, sector_t sector_nr,
36 /* want to reconstruct this device */
37 rb2 = r10_bio;
38 sect = raid10_find_virt(conf, sector_nr, i);
39+ if (sect >= mddev->resync_max_sectors) {
40+ /* last stripe is not complete - don't
41+ * try to recover this sector.
42+ */
43+ continue;
44+ }
45 /* Unless we are doing a full sync, we only need
46 * to recover the block if it is set in the bitmap
47 */
48--
491.7.10
50
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0015-md-raid5-Do-not-add-data_offset-before-call-to-is_ba.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0015-md-raid5-Do-not-add-data_offset-before-call-to-is_ba.patch
new file mode 100644
index 00000000..953b3b65
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0015-md-raid5-Do-not-add-data_offset-before-call-to-is_ba.patch
@@ -0,0 +1,54 @@
1From 2afec61845b4c0bed64c257a0acc2612e1862885 Mon Sep 17 00:00:00 2001
2From: majianpeng <majianpeng@gmail.com>
3Date: Tue, 12 Jun 2012 08:31:10 +0800
4Subject: [PATCH 15/49] md/raid5: Do not add data_offset before call to
5 is_badblock
6
7commit 6c0544e255dd6582a9899572e120fb55d9f672a4 upstream.
8
9In chunk_aligned_read() we are adding data_offset before calling
10is_badblock. But is_badblock also adds data_offset, so that is bad.
11
12So move the addition of data_offset to after the call to
13is_badblock.
14
15This bug was introduced by commit 31c176ecdf3563140e639
16 md/raid5: avoid reading from known bad blocks.
17which first appeared in 3.0. So that patch is suitable for any
18-stable kernel from 3.0.y onwards. However it will need minor
19revision for most of those (as the comment didn't appear until
20recently).
21
22Signed-off-by: majianpeng <majianpeng@gmail.com>
23Signed-off-by: NeilBrown <neilb@suse.de>
24[bwh: Backported to 3.2: ignored missing comment]
25Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
26---
27 drivers/md/raid5.c | 4 +++-
28 1 file changed, 3 insertions(+), 1 deletion(-)
29
30diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
31index 858fdbb..d423c7e 100644
32--- a/drivers/md/raid5.c
33+++ b/drivers/md/raid5.c
34@@ -3621,7 +3621,6 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio)
35 raid_bio->bi_next = (void*)rdev;
36 align_bi->bi_bdev = rdev->bdev;
37 align_bi->bi_flags &= ~(1 << BIO_SEG_VALID);
38- align_bi->bi_sector += rdev->data_offset;
39
40 if (!bio_fits_rdev(align_bi) ||
41 is_badblock(rdev, align_bi->bi_sector, align_bi->bi_size>>9,
42@@ -3632,6 +3631,9 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio)
43 return 0;
44 }
45
46+ /* No reshape active, so we can trust rdev->data_offset */
47+ align_bi->bi_sector += rdev->data_offset;
48+
49 spin_lock_irq(&conf->device_lock);
50 wait_event_lock_irq(conf->wait_for_stripe,
51 conf->quiesce == 0,
52--
531.7.10
54
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0016-md-raid5-In-ops_run_io-inc-nr_pending-before-calling.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0016-md-raid5-In-ops_run_io-inc-nr_pending-before-calling.patch
new file mode 100644
index 00000000..493b6beb
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0016-md-raid5-In-ops_run_io-inc-nr_pending-before-calling.patch
@@ -0,0 +1,45 @@
1From 1e6a8f24c1ff905a8bae6dd5222bc128eb60f886 Mon Sep 17 00:00:00 2001
2From: majianpeng <majianpeng@gmail.com>
3Date: Tue, 3 Jul 2012 12:11:54 +1000
4Subject: [PATCH 16/49] md/raid5: In ops_run_io, inc nr_pending before calling
5 md_wait_for_blocked_rdev
6
7commit 1850753d2e6d9ca7856581ca5d3cf09521e6a5d7 upstream.
8
9In ops_run_io(), the call to md_wait_for_blocked_rdev will decrement
10nr_pending so we lose the reference we hold on the rdev.
11So atomic_inc it first to maintain the reference.
12
13This bug was introduced by commit 73e92e51b7969ef5477d
14 md/raid5. Don't write to known bad block on doubtful devices.
15
16which appeared in 3.0, so patch is suitable for stable kernels since
17then.
18
19Signed-off-by: majianpeng <majianpeng@gmail.com>
20Signed-off-by: NeilBrown <neilb@suse.de>
21Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
22---
23 drivers/md/raid5.c | 6 ++++++
24 1 file changed, 6 insertions(+)
25
26diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
27index d423c7e..6ba4954 100644
28--- a/drivers/md/raid5.c
29+++ b/drivers/md/raid5.c
30@@ -542,6 +542,12 @@ static void ops_run_io(struct stripe_head *sh, struct stripe_head_state *s)
31 * a chance*/
32 md_check_recovery(conf->mddev);
33 }
34+ /*
35+ * Because md_wait_for_blocked_rdev
36+ * will dec nr_pending, we must
37+ * increment it first.
38+ */
39+ atomic_inc(&rdev->nr_pending);
40 md_wait_for_blocked_rdev(rdev, conf->mddev);
41 } else {
42 /* Acknowledged bad block - skip the write */
43--
441.7.10
45
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0017-md-raid10-fix-failure-when-trying-to-repair-a-read-e.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0017-md-raid10-fix-failure-when-trying-to-repair-a-read-e.patch
new file mode 100644
index 00000000..1f96efac
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0017-md-raid10-fix-failure-when-trying-to-repair-a-read-e.patch
@@ -0,0 +1,61 @@
1From 4c1df6ee8b798576a23b25ab391cd7f3b5835bcd Mon Sep 17 00:00:00 2001
2From: NeilBrown <neilb@suse.de>
3Date: Tue, 3 Jul 2012 15:55:33 +1000
4Subject: [PATCH 17/49] md/raid10: fix failure when trying to repair a read
5 error.
6
7commit 055d3747dbf00ce85c6872ecca4d466638e80c22 upstream.
8
9commit 58c54fcca3bac5bf9290cfed31c76e4c4bfbabaf
10 md/raid10: handle further errors during fix_read_error better.
11
12in 3.1 added "r10_sync_page_io" which takes an IO size in sectors.
13But we were passing the IO size in bytes!!!
14This resulting in bio_add_page failing, and empty request being sent
15down, and a consequent BUG_ON in scsi_lib.
16
17[fix missing space in error message at same time]
18
19This fix is suitable for 3.1.y and later.
20
21Reported-by: Christian Balzer <chibi@gol.com>
22Signed-off-by: NeilBrown <neilb@suse.de>
23Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
24---
25 drivers/md/raid10.c | 6 +++---
26 1 file changed, 3 insertions(+), 3 deletions(-)
27
28diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
29index 3b67566..7a9eef6 100644
30--- a/drivers/md/raid10.c
31+++ b/drivers/md/raid10.c
32@@ -1919,7 +1919,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10
33 if (r10_sync_page_io(rdev,
34 r10_bio->devs[sl].addr +
35 sect,
36- s<<9, conf->tmppage, WRITE)
37+ s, conf->tmppage, WRITE)
38 == 0) {
39 /* Well, this device is dead */
40 printk(KERN_NOTICE
41@@ -1956,7 +1956,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10
42 switch (r10_sync_page_io(rdev,
43 r10_bio->devs[sl].addr +
44 sect,
45- s<<9, conf->tmppage,
46+ s, conf->tmppage,
47 READ)) {
48 case 0:
49 /* Well, this device is dead */
50@@ -2119,7 +2119,7 @@ read_more:
51 rdev = conf->mirrors[mirror].rdev;
52 printk_ratelimited(
53 KERN_ERR
54- "md/raid10:%s: %s: redirecting"
55+ "md/raid10:%s: %s: redirecting "
56 "sector %llu to another mirror\n",
57 mdname(mddev),
58 bdevname(rdev->bdev, b),
59--
601.7.10
61
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0018-drm-i915-kick-any-firmware-framebuffers-before-claim.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0018-drm-i915-kick-any-firmware-framebuffers-before-claim.patch
new file mode 100644
index 00000000..ab9e976d
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0018-drm-i915-kick-any-firmware-framebuffers-before-claim.patch
@@ -0,0 +1,118 @@
1From 3426f0a75320d87b4fd5a63263ff4f1a7574fd90 Mon Sep 17 00:00:00 2001
2From: Daniel Vetter <daniel.vetter@ffwll.ch>
3Date: Sun, 1 Jul 2012 17:09:42 +0200
4Subject: [PATCH 18/49] drm/i915: kick any firmware framebuffers before
5 claiming the gtt
6
7commit 9f846a16d213523fbe6daea17e20df6b8ac5a1e5 upstream.
8
9Especially vesafb likes to map everything as uc- (yikes), and if that
10mapping hangs around still while we try to map the gtt as wc the
11kernel will downgrade our request to uc-, resulting in abyssal
12performance.
13
14Unfortunately we can't do this as early as readon does (i.e. as the
15first thing we do when initializing the hw) because our fb/mmio space
16region moves around on a per-gen basis. So I've had to move it below
17the gtt initialization, but that seems to work, too. The important
18thing is that we do this before we set up the gtt wc mapping.
19
20Now an altogether different question is why people compile their
21kernels with vesafb enabled, but I guess making things just work isn't
22bad per se ...
23
24v2:
25- s/radeondrmfb/inteldrmfb/
26- fix up error handling
27
28v3: Kill #ifdef X86, this is Intel after all. Noticed by Ben Widawsky.
29
30v4: Jani Nikula complained about the pointless bool primary
31initialization.
32
33v5: Don't oops if we can't allocate, noticed by Chris Wilson.
34
35v6: Resolve conflicts with agp rework and fixup whitespace.
36
37This is commit e188719a2891f01b3100d in drm-next.
38
39Backport to 3.5 -fixes queue requested by Dave Airlie - due to grub
40using vesa on fedora their initrd seems to load vesafb before loading
41the real kms driver. So tons more people actually experience a
42dead-slow gpu. Hence also the Cc: stable.
43
44Reported-and-tested-by: "Kilarski, Bernard R" <bernard.r.kilarski@intel.com>
45Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
46Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
47Signed-off-by: Dave Airlie <airlied@redhat.com>
48[bwh: Backported to 3.2: adjust context]
49Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
50---
51 drivers/gpu/drm/i915/i915_dma.c | 37 ++++++++++++++++++++++++++++++-------
52 1 file changed, 30 insertions(+), 7 deletions(-)
53
54diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
55index c4da951..ca67338 100644
56--- a/drivers/gpu/drm/i915/i915_dma.c
57+++ b/drivers/gpu/drm/i915/i915_dma.c
58@@ -1890,6 +1890,27 @@ ips_ping_for_i915_load(void)
59 }
60 }
61
62+static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv)
63+{
64+ struct apertures_struct *ap;
65+ struct pci_dev *pdev = dev_priv->dev->pdev;
66+ bool primary;
67+
68+ ap = alloc_apertures(1);
69+ if (!ap)
70+ return;
71+
72+ ap->ranges[0].base = dev_priv->dev->agp->base;
73+ ap->ranges[0].size =
74+ dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT;
75+ primary =
76+ pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
77+
78+ remove_conflicting_framebuffers(ap, "inteldrmfb", primary);
79+
80+ kfree(ap);
81+}
82+
83 /**
84 * i915_driver_load - setup chip and create an initial config
85 * @dev: DRM device
86@@ -1927,6 +1948,15 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
87 goto free_priv;
88 }
89
90+ dev_priv->mm.gtt = intel_gtt_get();
91+ if (!dev_priv->mm.gtt) {
92+ DRM_ERROR("Failed to initialize GTT\n");
93+ ret = -ENODEV;
94+ goto put_bridge;
95+ }
96+
97+ i915_kick_out_firmware_fb(dev_priv);
98+
99 /* overlay on gen2 is broken and can't address above 1G */
100 if (IS_GEN2(dev))
101 dma_set_coherent_mask(&dev->pdev->dev, DMA_BIT_MASK(30));
102@@ -1950,13 +1980,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
103 goto put_bridge;
104 }
105
106- dev_priv->mm.gtt = intel_gtt_get();
107- if (!dev_priv->mm.gtt) {
108- DRM_ERROR("Failed to initialize GTT\n");
109- ret = -ENODEV;
110- goto out_rmmap;
111- }
112-
113 agp_size = dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT;
114
115 dev_priv->mm.gtt_mapping =
116--
1171.7.10
118
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0019-dm-persistent-data-fix-shadow_info_leak-on-dm_tm_des.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0019-dm-persistent-data-fix-shadow_info_leak-on-dm_tm_des.patch
new file mode 100644
index 00000000..9ac2fb56
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0019-dm-persistent-data-fix-shadow_info_leak-on-dm_tm_des.patch
@@ -0,0 +1,37 @@
1From 97bbf28874e2f7467c0d05db53041e556488087a Mon Sep 17 00:00:00 2001
2From: Mike Snitzer <snitzer@redhat.com>
3Date: Tue, 3 Jul 2012 12:55:33 +0100
4Subject: [PATCH 19/49] dm persistent data: fix shadow_info_leak on
5 dm_tm_destroy
6
7commit 25d7cd6faa7ae6ed2565617c3ee2500ccb8a9f7f upstream.
8
9Cleanup the shadow table before destroying the transaction manager.
10
11Reference: leak was identified with kmemleak when running
12test_discard_random_sectors in the thinp-test-suite.
13
14Signed-off-by: Mike Snitzer <snitzer@redhat.com>
15Signed-off-by: Alasdair G Kergon <agk@redhat.com>
16Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
17---
18 drivers/md/persistent-data/dm-transaction-manager.c | 3 +++
19 1 file changed, 3 insertions(+)
20
21diff --git a/drivers/md/persistent-data/dm-transaction-manager.c b/drivers/md/persistent-data/dm-transaction-manager.c
22index 6f8d387..e5902d1 100644
23--- a/drivers/md/persistent-data/dm-transaction-manager.c
24+++ b/drivers/md/persistent-data/dm-transaction-manager.c
25@@ -138,6 +138,9 @@ EXPORT_SYMBOL_GPL(dm_tm_create_non_blocking_clone);
26
27 void dm_tm_destroy(struct dm_transaction_manager *tm)
28 {
29+ if (!tm->is_clone)
30+ wipe_shadow_table(tm);
31+
32 kfree(tm);
33 }
34 EXPORT_SYMBOL_GPL(dm_tm_destroy);
35--
361.7.10
37
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0020-dm-persistent-data-handle-space-map-checker-creation.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0020-dm-persistent-data-handle-space-map-checker-creation.patch
new file mode 100644
index 00000000..f186538d
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0020-dm-persistent-data-handle-space-map-checker-creation.patch
@@ -0,0 +1,182 @@
1From 5ac62b535b410eb5bfbb5457703fd42f5b517088 Mon Sep 17 00:00:00 2001
2From: Mike Snitzer <snitzer@redhat.com>
3Date: Tue, 3 Jul 2012 12:55:35 +0100
4Subject: [PATCH 20/49] dm persistent data: handle space map checker creation
5 failure
6
7commit 62662303e7f590fdfbb0070ab820a0ad4267c119 upstream.
8
9If CONFIG_DM_DEBUG_SPACE_MAPS is enabled and dm_sm_checker_create()
10fails, dm_tm_create_internal() would still return success even though it
11cleaned up all resources it was supposed to have created. This will
12lead to a kernel crash:
13
14general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC
15...
16RIP: 0010:[<ffffffff81593659>] [<ffffffff81593659>] dm_bufio_get_block_size+0x9/0x20
17Call Trace:
18 [<ffffffff81599bae>] dm_bm_block_size+0xe/0x10
19 [<ffffffff8159b8b8>] sm_ll_init+0x78/0xd0
20 [<ffffffff8159c1a6>] sm_ll_new_disk+0x16/0xa0
21 [<ffffffff8159c98e>] dm_sm_disk_create+0xfe/0x160
22 [<ffffffff815abf6e>] dm_pool_metadata_open+0x16e/0x6a0
23 [<ffffffff815aa010>] pool_ctr+0x3f0/0x900
24 [<ffffffff8158d565>] dm_table_add_target+0x195/0x450
25 [<ffffffff815904c4>] table_load+0xe4/0x330
26 [<ffffffff815917ea>] ctl_ioctl+0x15a/0x2c0
27 [<ffffffff81591963>] dm_ctl_ioctl+0x13/0x20
28 [<ffffffff8116a4f8>] do_vfs_ioctl+0x98/0x560
29 [<ffffffff8116aa51>] sys_ioctl+0x91/0xa0
30 [<ffffffff81869f52>] system_call_fastpath+0x16/0x1b
31
32Fix the space map checker code to return an appropriate ERR_PTR and have
33dm_sm_disk_create() and dm_tm_create_internal() check for it with
34IS_ERR.
35
36Reported-by: Vivek Goyal <vgoyal@redhat.com>
37Signed-off-by: Mike Snitzer <snitzer@redhat.com>
38Signed-off-by: Alasdair G Kergon <agk@redhat.com>
39Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
40---
41 drivers/md/persistent-data/dm-space-map-checker.c | 24 ++++++++++----------
42 drivers/md/persistent-data/dm-space-map-disk.c | 11 ++++++++-
43 .../md/persistent-data/dm-transaction-manager.c | 8 +++++--
44 3 files changed, 28 insertions(+), 15 deletions(-)
45
46diff --git a/drivers/md/persistent-data/dm-space-map-checker.c b/drivers/md/persistent-data/dm-space-map-checker.c
47index 50ed53b..6d7c832 100644
48--- a/drivers/md/persistent-data/dm-space-map-checker.c
49+++ b/drivers/md/persistent-data/dm-space-map-checker.c
50@@ -343,25 +343,25 @@ struct dm_space_map *dm_sm_checker_create(struct dm_space_map *sm)
51 int r;
52 struct sm_checker *smc;
53
54- if (!sm)
55- return NULL;
56+ if (IS_ERR_OR_NULL(sm))
57+ return ERR_PTR(-EINVAL);
58
59 smc = kmalloc(sizeof(*smc), GFP_KERNEL);
60 if (!smc)
61- return NULL;
62+ return ERR_PTR(-ENOMEM);
63
64 memcpy(&smc->sm, &ops_, sizeof(smc->sm));
65 r = ca_create(&smc->old_counts, sm);
66 if (r) {
67 kfree(smc);
68- return NULL;
69+ return ERR_PTR(r);
70 }
71
72 r = ca_create(&smc->counts, sm);
73 if (r) {
74 ca_destroy(&smc->old_counts);
75 kfree(smc);
76- return NULL;
77+ return ERR_PTR(r);
78 }
79
80 smc->real_sm = sm;
81@@ -371,7 +371,7 @@ struct dm_space_map *dm_sm_checker_create(struct dm_space_map *sm)
82 ca_destroy(&smc->counts);
83 ca_destroy(&smc->old_counts);
84 kfree(smc);
85- return NULL;
86+ return ERR_PTR(r);
87 }
88
89 r = ca_commit(&smc->old_counts, &smc->counts);
90@@ -379,7 +379,7 @@ struct dm_space_map *dm_sm_checker_create(struct dm_space_map *sm)
91 ca_destroy(&smc->counts);
92 ca_destroy(&smc->old_counts);
93 kfree(smc);
94- return NULL;
95+ return ERR_PTR(r);
96 }
97
98 return &smc->sm;
99@@ -391,25 +391,25 @@ struct dm_space_map *dm_sm_checker_create_fresh(struct dm_space_map *sm)
100 int r;
101 struct sm_checker *smc;
102
103- if (!sm)
104- return NULL;
105+ if (IS_ERR_OR_NULL(sm))
106+ return ERR_PTR(-EINVAL);
107
108 smc = kmalloc(sizeof(*smc), GFP_KERNEL);
109 if (!smc)
110- return NULL;
111+ return ERR_PTR(-ENOMEM);
112
113 memcpy(&smc->sm, &ops_, sizeof(smc->sm));
114 r = ca_create(&smc->old_counts, sm);
115 if (r) {
116 kfree(smc);
117- return NULL;
118+ return ERR_PTR(r);
119 }
120
121 r = ca_create(&smc->counts, sm);
122 if (r) {
123 ca_destroy(&smc->old_counts);
124 kfree(smc);
125- return NULL;
126+ return ERR_PTR(r);
127 }
128
129 smc->real_sm = sm;
130diff --git a/drivers/md/persistent-data/dm-space-map-disk.c b/drivers/md/persistent-data/dm-space-map-disk.c
131index fc469ba..3d0ed53 100644
132--- a/drivers/md/persistent-data/dm-space-map-disk.c
133+++ b/drivers/md/persistent-data/dm-space-map-disk.c
134@@ -290,7 +290,16 @@ struct dm_space_map *dm_sm_disk_create(struct dm_transaction_manager *tm,
135 dm_block_t nr_blocks)
136 {
137 struct dm_space_map *sm = dm_sm_disk_create_real(tm, nr_blocks);
138- return dm_sm_checker_create_fresh(sm);
139+ struct dm_space_map *smc;
140+
141+ if (IS_ERR_OR_NULL(sm))
142+ return sm;
143+
144+ smc = dm_sm_checker_create_fresh(sm);
145+ if (IS_ERR(smc))
146+ dm_sm_destroy(sm);
147+
148+ return smc;
149 }
150 EXPORT_SYMBOL_GPL(dm_sm_disk_create);
151
152diff --git a/drivers/md/persistent-data/dm-transaction-manager.c b/drivers/md/persistent-data/dm-transaction-manager.c
153index e5902d1..ba54aac 100644
154--- a/drivers/md/persistent-data/dm-transaction-manager.c
155+++ b/drivers/md/persistent-data/dm-transaction-manager.c
156@@ -345,8 +345,10 @@ static int dm_tm_create_internal(struct dm_block_manager *bm,
157 }
158
159 *sm = dm_sm_checker_create(inner);
160- if (!*sm)
161+ if (IS_ERR(*sm)) {
162+ r = PTR_ERR(*sm);
163 goto bad2;
164+ }
165
166 } else {
167 r = dm_bm_write_lock(dm_tm_get_bm(*tm), sb_location,
168@@ -365,8 +367,10 @@ static int dm_tm_create_internal(struct dm_block_manager *bm,
169 }
170
171 *sm = dm_sm_checker_create(inner);
172- if (!*sm)
173+ if (IS_ERR(*sm)) {
174+ r = PTR_ERR(*sm);
175 goto bad2;
176+ }
177 }
178
179 return 0;
180--
1811.7.10
182
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0021-dm-persistent-data-fix-allocation-failure-in-space-m.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0021-dm-persistent-data-fix-allocation-failure-in-space-m.patch
new file mode 100644
index 00000000..b8121c82
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0021-dm-persistent-data-fix-allocation-failure-in-space-m.patch
@@ -0,0 +1,95 @@
1From d93e7e98bbff07495ac95fd10c02c2e0d5392079 Mon Sep 17 00:00:00 2001
2From: Mike Snitzer <snitzer@redhat.com>
3Date: Tue, 3 Jul 2012 12:55:37 +0100
4Subject: [PATCH 21/49] dm persistent data: fix allocation failure in space
5 map checker init
6
7commit b0239faaf87c38bb419c9264bf20817438ddc3a9 upstream.
8
9If CONFIG_DM_DEBUG_SPACE_MAPS is enabled and memory is fragmented and a
10sufficiently-large metadata device is used in a thin pool then the space
11map checker will fail to allocate the memory it requires.
12
13Switch from kmalloc to vmalloc to allow larger virtually contiguous
14allocations for the space map checker's internal count arrays.
15
16Reported-by: Vivek Goyal <vgoyal@redhat.com>
17Signed-off-by: Mike Snitzer <snitzer@redhat.com>
18Signed-off-by: Alasdair G Kergon <agk@redhat.com>
19Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
20---
21 drivers/md/persistent-data/dm-space-map-checker.c | 30 +++++++++++++--------
22 1 file changed, 19 insertions(+), 11 deletions(-)
23
24diff --git a/drivers/md/persistent-data/dm-space-map-checker.c b/drivers/md/persistent-data/dm-space-map-checker.c
25index 6d7c832..fc90c11 100644
26--- a/drivers/md/persistent-data/dm-space-map-checker.c
27+++ b/drivers/md/persistent-data/dm-space-map-checker.c
28@@ -8,6 +8,7 @@
29
30 #include <linux/device-mapper.h>
31 #include <linux/export.h>
32+#include <linux/vmalloc.h>
33
34 #ifdef CONFIG_DM_DEBUG_SPACE_MAPS
35
36@@ -89,13 +90,23 @@ static int ca_create(struct count_array *ca, struct dm_space_map *sm)
37
38 ca->nr = nr_blocks;
39 ca->nr_free = nr_blocks;
40- ca->counts = kzalloc(sizeof(*ca->counts) * nr_blocks, GFP_KERNEL);
41- if (!ca->counts)
42- return -ENOMEM;
43+
44+ if (!nr_blocks)
45+ ca->counts = NULL;
46+ else {
47+ ca->counts = vzalloc(sizeof(*ca->counts) * nr_blocks);
48+ if (!ca->counts)
49+ return -ENOMEM;
50+ }
51
52 return 0;
53 }
54
55+static void ca_destroy(struct count_array *ca)
56+{
57+ vfree(ca->counts);
58+}
59+
60 static int ca_load(struct count_array *ca, struct dm_space_map *sm)
61 {
62 int r;
63@@ -126,12 +137,14 @@ static int ca_load(struct count_array *ca, struct dm_space_map *sm)
64 static int ca_extend(struct count_array *ca, dm_block_t extra_blocks)
65 {
66 dm_block_t nr_blocks = ca->nr + extra_blocks;
67- uint32_t *counts = kzalloc(sizeof(*counts) * nr_blocks, GFP_KERNEL);
68+ uint32_t *counts = vzalloc(sizeof(*counts) * nr_blocks);
69 if (!counts)
70 return -ENOMEM;
71
72- memcpy(counts, ca->counts, sizeof(*counts) * ca->nr);
73- kfree(ca->counts);
74+ if (ca->counts) {
75+ memcpy(counts, ca->counts, sizeof(*counts) * ca->nr);
76+ ca_destroy(ca);
77+ }
78 ca->nr = nr_blocks;
79 ca->nr_free += extra_blocks;
80 ca->counts = counts;
81@@ -151,11 +164,6 @@ static int ca_commit(struct count_array *old, struct count_array *new)
82 return 0;
83 }
84
85-static void ca_destroy(struct count_array *ca)
86-{
87- kfree(ca->counts);
88-}
89-
90 /*----------------------------------------------------------------*/
91
92 struct sm_checker {
93--
941.7.10
95
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0022-ALSA-hda-Fix-power-map-regression-for-HP-dv6-co.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0022-ALSA-hda-Fix-power-map-regression-for-HP-dv6-co.patch
new file mode 100644
index 00000000..3b85ba72
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0022-ALSA-hda-Fix-power-map-regression-for-HP-dv6-co.patch
@@ -0,0 +1,49 @@
1From 6411ef218c12f6719597631d388f2b13945a5251 Mon Sep 17 00:00:00 2001
2From: Takashi Iwai <tiwai@suse.de>
3Date: Tue, 26 Jun 2012 17:35:10 +0200
4Subject: [PATCH 22/49] ALSA: hda - Fix power-map regression for HP dv6 & co
5
6commit 6e1c39c6b00d9141a82c231ba7c5e5b1716974b2 upstream.
7
8The recent fix for power-map controls (commit b0791dda813) caused
9regressions on some other HP laptops. They have fixed pins but these
10pins are exposed as jack-detectable. Thus the driver tries to control
11the power-map dynamically per jack detection where it never gets on.
12
13This patch adds the check of connection and it assumes the no jack
14detection is available for fixed pins no matter what pin capability
15says.
16
17BugLink: http://bugs.launchpad.net/bugs/1013183
18Reported-by: Luis Henriques <luis.henriques@canonical.com>
19Signed-off-by: Takashi Iwai <tiwai@suse.de>
20Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
21---
22 sound/pci/hda/patch_sigmatel.c | 4 ++--
23 1 file changed, 2 insertions(+), 2 deletions(-)
24
25diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
26index 7b7a516..2b973f5 100644
27--- a/sound/pci/hda/patch_sigmatel.c
28+++ b/sound/pci/hda/patch_sigmatel.c
29@@ -4457,7 +4457,7 @@ static int stac92xx_init(struct hda_codec *codec)
30 AC_PINCTL_IN_EN);
31 for (i = 0; i < spec->num_pwrs; i++) {
32 hda_nid_t nid = spec->pwr_nids[i];
33- int pinctl, def_conf;
34+ unsigned int pinctl, def_conf;
35
36 /* power on when no jack detection is available */
37 /* or when the VREF is used for controlling LED */
38@@ -4484,7 +4484,7 @@ static int stac92xx_init(struct hda_codec *codec)
39 def_conf = get_defcfg_connect(def_conf);
40 /* skip any ports that don't have jacks since presence
41 * detection is useless */
42- if (def_conf != AC_JACK_PORT_NONE &&
43+ if (def_conf != AC_JACK_PORT_COMPLEX ||
44 !is_jack_detectable(codec, nid)) {
45 stac_toggle_power_map(codec, nid, 1);
46 continue;
47--
481.7.10
49
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0023-tracing-change-CPU-ring-buffer-state-from-tracing_cp.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0023-tracing-change-CPU-ring-buffer-state-from-tracing_cp.patch
new file mode 100644
index 00000000..eb84795a
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0023-tracing-change-CPU-ring-buffer-state-from-tracing_cp.patch
@@ -0,0 +1,56 @@
1From 04098d77869c04c5bf703846783cb89b4297b2bb Mon Sep 17 00:00:00 2001
2From: Vaibhav Nagarnaik <vnagarnaik@google.com>
3Date: Thu, 3 May 2012 18:59:52 -0700
4Subject: [PATCH 23/49] tracing: change CPU ring buffer state from
5 tracing_cpumask
6
7commit 71babb2705e2203a64c27ede13ae3508a0d2c16c upstream.
8
9According to Documentation/trace/ftrace.txt:
10
11tracing_cpumask:
12
13 This is a mask that lets the user only trace
14 on specified CPUS. The format is a hex string
15 representing the CPUS.
16
17The tracing_cpumask currently doesn't affect the tracing state of
18per-CPU ring buffers.
19
20This patch enables/disables CPU recording as its corresponding bit in
21tracing_cpumask is set/unset.
22
23Link: http://lkml.kernel.org/r/1336096792-25373-3-git-send-email-vnagarnaik@google.com
24
25Cc: Frederic Weisbecker <fweisbec@gmail.com>
26Cc: Ingo Molnar <mingo@redhat.com>
27Cc: Laurent Chavey <chavey@google.com>
28Cc: Justin Teravest <teravest@google.com>
29Cc: David Sharp <dhsharp@google.com>
30Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@google.com>
31Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
32Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
33---
34 kernel/trace/trace.c | 2 ++
35 1 file changed, 2 insertions(+)
36
37diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
38index 7e4edd3..5638104 100644
39--- a/kernel/trace/trace.c
40+++ b/kernel/trace/trace.c
41@@ -2541,10 +2541,12 @@ tracing_cpumask_write(struct file *filp, const char __user *ubuf,
42 if (cpumask_test_cpu(cpu, tracing_cpumask) &&
43 !cpumask_test_cpu(cpu, tracing_cpumask_new)) {
44 atomic_inc(&global_trace.data[cpu]->disabled);
45+ ring_buffer_record_disable_cpu(global_trace.buffer, cpu);
46 }
47 if (!cpumask_test_cpu(cpu, tracing_cpumask) &&
48 cpumask_test_cpu(cpu, tracing_cpumask_new)) {
49 atomic_dec(&global_trace.data[cpu]->disabled);
50+ ring_buffer_record_enable_cpu(global_trace.buffer, cpu);
51 }
52 }
53 arch_spin_unlock(&ftrace_max_lock);
54--
551.7.10
56
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0024-mwifiex-fix-wrong-return-values-in-add_virtual_intf-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0024-mwifiex-fix-wrong-return-values-in-add_virtual_intf-.patch
new file mode 100644
index 00000000..e7cb513b
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0024-mwifiex-fix-wrong-return-values-in-add_virtual_intf-.patch
@@ -0,0 +1,93 @@
1From 0b53b4fb097d5d599a3a3fcd0ac10ad140bdf9c4 Mon Sep 17 00:00:00 2001
2From: Bing Zhao <bzhao@marvell.com>
3Date: Tue, 3 Jul 2012 20:43:56 -0700
4Subject: [PATCH 24/49] mwifiex: fix wrong return values in add_virtual_intf()
5 error cases
6
7commit 858faa57dd9e2b91f3f870fbb1185982e42f5a2b upstream
8
9backported for linux-3.2.y, linux-3.3.y, linux-3.4.y
10
11add_virtual_intf() needs to return an ERR_PTR(), instead of NULL,
12on errors, otherwise cfg80211 will crash.
13
14Reported-by: Johannes Berg <johannes@sipsolutions.net>
15Signed-off-by: Bing Zhao <bzhao@marvell.com>
16Signed-off-by: John W. Linville <linville@tuxdriver.com>
17Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
18---
19 drivers/net/wireless/mwifiex/cfg80211.c | 21 +++++++++------------
20 1 file changed, 9 insertions(+), 12 deletions(-)
21
22diff --git a/drivers/net/wireless/mwifiex/cfg80211.c b/drivers/net/wireless/mwifiex/cfg80211.c
23index 462c710..01dcb1a 100644
24--- a/drivers/net/wireless/mwifiex/cfg80211.c
25+++ b/drivers/net/wireless/mwifiex/cfg80211.c
26@@ -1177,11 +1177,11 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy,
27 void *mdev_priv;
28
29 if (!priv)
30- return NULL;
31+ return ERR_PTR(-EFAULT);
32
33 adapter = priv->adapter;
34 if (!adapter)
35- return NULL;
36+ return ERR_PTR(-EFAULT);
37
38 switch (type) {
39 case NL80211_IFTYPE_UNSPECIFIED:
40@@ -1190,7 +1190,7 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy,
41 if (priv->bss_mode) {
42 wiphy_err(wiphy, "cannot create multiple"
43 " station/adhoc interfaces\n");
44- return NULL;
45+ return ERR_PTR(-EINVAL);
46 }
47
48 if (type == NL80211_IFTYPE_UNSPECIFIED)
49@@ -1208,14 +1208,15 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy,
50 break;
51 default:
52 wiphy_err(wiphy, "type not supported\n");
53- return NULL;
54+ return ERR_PTR(-EINVAL);
55 }
56
57 dev = alloc_netdev_mq(sizeof(struct mwifiex_private *), name,
58 ether_setup, 1);
59 if (!dev) {
60 wiphy_err(wiphy, "no memory available for netdevice\n");
61- goto error;
62+ priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED;
63+ return ERR_PTR(-ENOMEM);
64 }
65
66 dev_net_set(dev, wiphy_net(wiphy));
67@@ -1240,7 +1241,9 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy,
68 /* Register network device */
69 if (register_netdevice(dev)) {
70 wiphy_err(wiphy, "cannot register virtual network device\n");
71- goto error;
72+ free_netdev(dev);
73+ priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED;
74+ return ERR_PTR(-EFAULT);
75 }
76
77 sema_init(&priv->async_sem, 1);
78@@ -1252,12 +1255,6 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy,
79 mwifiex_dev_debugfs_init(priv);
80 #endif
81 return dev;
82-error:
83- if (dev && (dev->reg_state == NETREG_UNREGISTERED))
84- free_netdev(dev);
85- priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED;
86-
87- return NULL;
88 }
89 EXPORT_SYMBOL_GPL(mwifiex_add_virtual_intf);
90
91--
921.7.10
93
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0025-udf-Use-ret-instead-of-abusing-i-in-udf_load_logical.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0025-udf-Use-ret-instead-of-abusing-i-in-udf_load_logical.patch
new file mode 100644
index 00000000..0d5c1790
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0025-udf-Use-ret-instead-of-abusing-i-in-udf_load_logical.patch
@@ -0,0 +1,35 @@
1From 4d7257d8f5c970ce0f699d893f6050fd8bd11f3c Mon Sep 17 00:00:00 2001
2From: Jan Kara <jack@suse.cz>
3Date: Wed, 27 Jun 2012 20:08:44 +0200
4Subject: [PATCH 25/49] udf: Use 'ret' instead of abusing 'i' in
5 udf_load_logicalvol()
6
7commit cb14d340ef1737c24125dd663eff77734a482d47 upstream.
8
9Signed-off-by: Jan Kara <jack@suse.cz>
10Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
11---
12 fs/udf/super.c | 6 ++----
13 1 file changed, 2 insertions(+), 4 deletions(-)
14
15diff --git a/fs/udf/super.c b/fs/udf/super.c
16index 87cb24a..eea2bfe 100644
17--- a/fs/udf/super.c
18+++ b/fs/udf/super.c
19@@ -1235,11 +1235,9 @@ static int udf_load_logicalvol(struct super_block *sb, sector_t block,
20 BUG_ON(ident != TAG_IDENT_LVD);
21 lvd = (struct logicalVolDesc *)bh->b_data;
22
23- i = udf_sb_alloc_partition_maps(sb, le32_to_cpu(lvd->numPartitionMaps));
24- if (i != 0) {
25- ret = i;
26+ ret = udf_sb_alloc_partition_maps(sb, le32_to_cpu(lvd->numPartitionMaps));
27+ if (ret)
28 goto out_bh;
29- }
30
31 for (i = 0, offset = 0;
32 i < sbi->s_partitions && offset < le32_to_cpu(lvd->mapTableLength);
33--
341.7.10
35
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0026-udf-Avoid-run-away-loop-when-partition-table-length-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0026-udf-Avoid-run-away-loop-when-partition-table-length-.patch
new file mode 100644
index 00000000..b9fb57ac
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0026-udf-Avoid-run-away-loop-when-partition-table-length-.patch
@@ -0,0 +1,54 @@
1From 0a9d08974ed753d12541081ae062e5f69298d791 Mon Sep 17 00:00:00 2001
2From: Jan Kara <jack@suse.cz>
3Date: Wed, 27 Jun 2012 20:20:22 +0200
4Subject: [PATCH 26/49] udf: Avoid run away loop when partition table length
5 is corrupted
6
7commit adee11b2085bee90bd8f4f52123ffb07882d6256 upstream.
8
9Check provided length of partition table so that (possibly maliciously)
10corrupted partition table cannot cause accessing data beyond current buffer.
11
12Signed-off-by: Jan Kara <jack@suse.cz>
13Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
14---
15 fs/udf/super.c | 10 +++++++++-
16 1 file changed, 9 insertions(+), 1 deletion(-)
17
18diff --git a/fs/udf/super.c b/fs/udf/super.c
19index eea2bfe..800e839 100644
20--- a/fs/udf/super.c
21+++ b/fs/udf/super.c
22@@ -1227,6 +1227,7 @@ static int udf_load_logicalvol(struct super_block *sb, sector_t block,
23 struct genericPartitionMap *gpm;
24 uint16_t ident;
25 struct buffer_head *bh;
26+ unsigned int table_len;
27 int ret = 0;
28
29 bh = udf_read_tagged(sb, block, block, &ident);
30@@ -1234,13 +1235,20 @@ static int udf_load_logicalvol(struct super_block *sb, sector_t block,
31 return 1;
32 BUG_ON(ident != TAG_IDENT_LVD);
33 lvd = (struct logicalVolDesc *)bh->b_data;
34+ table_len = le32_to_cpu(lvd->mapTableLength);
35+ if (sizeof(*lvd) + table_len > sb->s_blocksize) {
36+ udf_err(sb, "error loading logical volume descriptor: "
37+ "Partition table too long (%u > %lu)\n", table_len,
38+ sb->s_blocksize - sizeof(*lvd));
39+ goto out_bh;
40+ }
41
42 ret = udf_sb_alloc_partition_maps(sb, le32_to_cpu(lvd->numPartitionMaps));
43 if (ret)
44 goto out_bh;
45
46 for (i = 0, offset = 0;
47- i < sbi->s_partitions && offset < le32_to_cpu(lvd->mapTableLength);
48+ i < sbi->s_partitions && offset < table_len;
49 i++, offset += gpm->partitionMapLength) {
50 struct udf_part_map *map = &sbi->s_partmaps[i];
51 gpm = (struct genericPartitionMap *)
52--
531.7.10
54
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0027-udf-Fortify-loading-of-sparing-table.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0027-udf-Fortify-loading-of-sparing-table.patch
new file mode 100644
index 00000000..2c4b7063
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0027-udf-Fortify-loading-of-sparing-table.patch
@@ -0,0 +1,134 @@
1From 9db7244bafd8f99123cf5fe816e4961115831ca9 Mon Sep 17 00:00:00 2001
2From: Jan Kara <jack@suse.cz>
3Date: Wed, 27 Jun 2012 21:23:07 +0200
4Subject: [PATCH 27/49] udf: Fortify loading of sparing table
5
6commit 1df2ae31c724e57be9d7ac00d78db8a5dabdd050 upstream.
7
8Add sanity checks when loading sparing table from disk to avoid accessing
9unallocated memory or writing to it.
10
11Signed-off-by: Jan Kara <jack@suse.cz>
12Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
13---
14 fs/udf/super.c | 86 ++++++++++++++++++++++++++++++++++----------------------
15 1 file changed, 53 insertions(+), 33 deletions(-)
16
17diff --git a/fs/udf/super.c b/fs/udf/super.c
18index 800e839..270e135 100644
19--- a/fs/udf/super.c
20+++ b/fs/udf/super.c
21@@ -56,6 +56,7 @@
22 #include <linux/seq_file.h>
23 #include <linux/bitmap.h>
24 #include <linux/crc-itu-t.h>
25+#include <linux/log2.h>
26 #include <asm/byteorder.h>
27
28 #include "udf_sb.h"
29@@ -1217,11 +1218,59 @@ out_bh:
30 return ret;
31 }
32
33+static int udf_load_sparable_map(struct super_block *sb,
34+ struct udf_part_map *map,
35+ struct sparablePartitionMap *spm)
36+{
37+ uint32_t loc;
38+ uint16_t ident;
39+ struct sparingTable *st;
40+ struct udf_sparing_data *sdata = &map->s_type_specific.s_sparing;
41+ int i;
42+ struct buffer_head *bh;
43+
44+ map->s_partition_type = UDF_SPARABLE_MAP15;
45+ sdata->s_packet_len = le16_to_cpu(spm->packetLength);
46+ if (!is_power_of_2(sdata->s_packet_len)) {
47+ udf_err(sb, "error loading logical volume descriptor: "
48+ "Invalid packet length %u\n",
49+ (unsigned)sdata->s_packet_len);
50+ return -EIO;
51+ }
52+ if (spm->numSparingTables > 4) {
53+ udf_err(sb, "error loading logical volume descriptor: "
54+ "Too many sparing tables (%d)\n",
55+ (int)spm->numSparingTables);
56+ return -EIO;
57+ }
58+
59+ for (i = 0; i < spm->numSparingTables; i++) {
60+ loc = le32_to_cpu(spm->locSparingTable[i]);
61+ bh = udf_read_tagged(sb, loc, loc, &ident);
62+ if (!bh)
63+ continue;
64+
65+ st = (struct sparingTable *)bh->b_data;
66+ if (ident != 0 ||
67+ strncmp(st->sparingIdent.ident, UDF_ID_SPARING,
68+ strlen(UDF_ID_SPARING)) ||
69+ sizeof(*st) + le16_to_cpu(st->reallocationTableLen) >
70+ sb->s_blocksize) {
71+ brelse(bh);
72+ continue;
73+ }
74+
75+ sdata->s_spar_map[i] = bh;
76+ }
77+ map->s_partition_func = udf_get_pblock_spar15;
78+ return 0;
79+}
80+
81 static int udf_load_logicalvol(struct super_block *sb, sector_t block,
82 struct kernel_lb_addr *fileset)
83 {
84 struct logicalVolDesc *lvd;
85- int i, j, offset;
86+ int i, offset;
87 uint8_t type;
88 struct udf_sb_info *sbi = UDF_SB(sb);
89 struct genericPartitionMap *gpm;
90@@ -1283,38 +1332,9 @@ static int udf_load_logicalvol(struct super_block *sb, sector_t block,
91 } else if (!strncmp(upm2->partIdent.ident,
92 UDF_ID_SPARABLE,
93 strlen(UDF_ID_SPARABLE))) {
94- uint32_t loc;
95- struct sparingTable *st;
96- struct sparablePartitionMap *spm =
97- (struct sparablePartitionMap *)gpm;
98-
99- map->s_partition_type = UDF_SPARABLE_MAP15;
100- map->s_type_specific.s_sparing.s_packet_len =
101- le16_to_cpu(spm->packetLength);
102- for (j = 0; j < spm->numSparingTables; j++) {
103- struct buffer_head *bh2;
104-
105- loc = le32_to_cpu(
106- spm->locSparingTable[j]);
107- bh2 = udf_read_tagged(sb, loc, loc,
108- &ident);
109- map->s_type_specific.s_sparing.
110- s_spar_map[j] = bh2;
111-
112- if (bh2 == NULL)
113- continue;
114-
115- st = (struct sparingTable *)bh2->b_data;
116- if (ident != 0 || strncmp(
117- st->sparingIdent.ident,
118- UDF_ID_SPARING,
119- strlen(UDF_ID_SPARING))) {
120- brelse(bh2);
121- map->s_type_specific.s_sparing.
122- s_spar_map[j] = NULL;
123- }
124- }
125- map->s_partition_func = udf_get_pblock_spar15;
126+ if (udf_load_sparable_map(sb, map,
127+ (struct sparablePartitionMap *)gpm) < 0)
128+ goto out_bh;
129 } else if (!strncmp(upm2->partIdent.ident,
130 UDF_ID_METADATA,
131 strlen(UDF_ID_METADATA))) {
132--
1331.7.10
134
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0028-ARM-fix-rcu-stalls-on-SMP-platforms.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0028-ARM-fix-rcu-stalls-on-SMP-platforms.patch
new file mode 100644
index 00000000..4187adc2
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0028-ARM-fix-rcu-stalls-on-SMP-platforms.patch
@@ -0,0 +1,68 @@
1From cb4aa2ef6f748fa3a3e6cd3889153c191e63d48e Mon Sep 17 00:00:00 2001
2From: Russell King <rmk+kernel@arm.linux.org.uk>
3Date: Thu, 19 Jan 2012 15:20:58 +0000
4Subject: [PATCH 28/49] ARM: fix rcu stalls on SMP platforms
5
6commit 7deabca0acfe02b8e18f59a4c95676012f49a304 upstream.
7
8We can stall RCU processing on SMP platforms if a CPU sits in its idle
9loop for a long time. This happens because we don't call irq_enter()
10and irq_exit() around generic_smp_call_function_interrupt() and
11friends. Add the necessary calls, and remove the one from within
12ipi_timer(), so that they're all in a common place.
13
14Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
15Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
16---
17 arch/arm/kernel/smp.c | 10 ++++++++--
18 1 file changed, 8 insertions(+), 2 deletions(-)
19
20diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
21index e10e59a..1d1710e 100644
22--- a/arch/arm/kernel/smp.c
23+++ b/arch/arm/kernel/smp.c
24@@ -471,9 +471,7 @@ static DEFINE_PER_CPU(struct clock_event_device, percpu_clockevent);
25 static void ipi_timer(void)
26 {
27 struct clock_event_device *evt = &__get_cpu_var(percpu_clockevent);
28- irq_enter();
29 evt->event_handler(evt);
30- irq_exit();
31 }
32
33 #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST
34@@ -572,7 +570,9 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
35
36 switch (ipinr) {
37 case IPI_TIMER:
38+ irq_enter();
39 ipi_timer();
40+ irq_exit();
41 break;
42
43 case IPI_RESCHEDULE:
44@@ -580,15 +580,21 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
45 break;
46
47 case IPI_CALL_FUNC:
48+ irq_enter();
49 generic_smp_call_function_interrupt();
50+ irq_exit();
51 break;
52
53 case IPI_CALL_FUNC_SINGLE:
54+ irq_enter();
55 generic_smp_call_function_single_interrupt();
56+ irq_exit();
57 break;
58
59 case IPI_CPU_STOP:
60+ irq_enter();
61 ipi_cpu_stop(cpu);
62+ irq_exit();
63 break;
64
65 default:
66--
671.7.10
68
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0029-net-sock-validate-data_len-before-allocating-skb-in-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0029-net-sock-validate-data_len-before-allocating-skb-in-.patch
new file mode 100644
index 00000000..7ede727e
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0029-net-sock-validate-data_len-before-allocating-skb-in-.patch
@@ -0,0 +1,53 @@
1From 9e88f1e8bf3f7dbc0cb410a09c003180052bd7d4 Mon Sep 17 00:00:00 2001
2From: Jason Wang <jasowang@redhat.com>
3Date: Wed, 30 May 2012 21:18:10 +0000
4Subject: [PATCH 29/49] net: sock: validate data_len before allocating skb in
5 sock_alloc_send_pskb()
6
7[ Upstream commit cc9b17ad29ecaa20bfe426a8d4dbfb94b13ff1cc ]
8
9We need to validate the number of pages consumed by data_len, otherwise frags
10array could be overflowed by userspace. So this patch validate data_len and
11return -EMSGSIZE when data_len may occupies more frags than MAX_SKB_FRAGS.
12
13Signed-off-by: Jason Wang <jasowang@redhat.com>
14Signed-off-by: David S. Miller <davem@davemloft.net>
15Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
16---
17 net/core/sock.c | 7 +++++--
18 1 file changed, 5 insertions(+), 2 deletions(-)
19
20diff --git a/net/core/sock.c b/net/core/sock.c
21index b23f174..8d095b9 100644
22--- a/net/core/sock.c
23+++ b/net/core/sock.c
24@@ -1497,6 +1497,11 @@ struct sk_buff *sock_alloc_send_pskb(struct sock *sk, unsigned long header_len,
25 gfp_t gfp_mask;
26 long timeo;
27 int err;
28+ int npages = (data_len + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
29+
30+ err = -EMSGSIZE;
31+ if (npages > MAX_SKB_FRAGS)
32+ goto failure;
33
34 gfp_mask = sk->sk_allocation;
35 if (gfp_mask & __GFP_WAIT)
36@@ -1515,14 +1520,12 @@ struct sk_buff *sock_alloc_send_pskb(struct sock *sk, unsigned long header_len,
37 if (atomic_read(&sk->sk_wmem_alloc) < sk->sk_sndbuf) {
38 skb = alloc_skb(header_len, gfp_mask);
39 if (skb) {
40- int npages;
41 int i;
42
43 /* No pages, we're done... */
44 if (!data_len)
45 break;
46
47- npages = (data_len + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
48 skb->truesize += data_len;
49 skb_shinfo(skb)->nr_frags = npages;
50 for (i = 0; i < npages; i++) {
51--
521.7.10
53
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0030-cipso-handle-CIPSO-options-correctly-when-NetLabel-i.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0030-cipso-handle-CIPSO-options-correctly-when-NetLabel-i.patch
new file mode 100644
index 00000000..8310ad90
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0030-cipso-handle-CIPSO-options-correctly-when-NetLabel-i.patch
@@ -0,0 +1,80 @@
1From e3e2beb00731e994722f01a1c284e3bcc69264ba Mon Sep 17 00:00:00 2001
2From: Paul Moore <pmoore@redhat.com>
3Date: Fri, 1 Jun 2012 05:54:56 +0000
4Subject: [PATCH 30/49] cipso: handle CIPSO options correctly when NetLabel is
5 disabled
6
7[ Upstream commit 20e2a86485967c385d7c7befc1646e4d1d39362e ]
8
9When NetLabel is not enabled, e.g. CONFIG_NETLABEL=n, and the system
10receives a CIPSO tagged packet it is dropped (cipso_v4_validate()
11returns non-zero). In most cases this is the correct and desired
12behavior, however, in the case where we are simply forwarding the
13traffic, e.g. acting as a network bridge, this becomes a problem.
14
15This patch fixes the forwarding problem by providing the basic CIPSO
16validation code directly in ip_options_compile() without the need for
17the NetLabel or CIPSO code. The new validation code can not perform
18any of the CIPSO option label/value verification that
19cipso_v4_validate() does, but it can verify the basic CIPSO option
20format.
21
22The behavior when NetLabel is enabled is unchanged.
23
24Signed-off-by: Paul Moore <pmoore@redhat.com>
25Signed-off-by: David S. Miller <davem@davemloft.net>
26Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
27---
28 include/net/cipso_ipv4.h | 29 ++++++++++++++++++++++++++++-
29 1 file changed, 28 insertions(+), 1 deletion(-)
30
31diff --git a/include/net/cipso_ipv4.h b/include/net/cipso_ipv4.h
32index 9808877..a7a683e 100644
33--- a/include/net/cipso_ipv4.h
34+++ b/include/net/cipso_ipv4.h
35@@ -42,6 +42,7 @@
36 #include <net/netlabel.h>
37 #include <net/request_sock.h>
38 #include <linux/atomic.h>
39+#include <asm/unaligned.h>
40
41 /* known doi values */
42 #define CIPSO_V4_DOI_UNKNOWN 0x00000000
43@@ -285,7 +286,33 @@ static inline int cipso_v4_skbuff_getattr(const struct sk_buff *skb,
44 static inline int cipso_v4_validate(const struct sk_buff *skb,
45 unsigned char **option)
46 {
47- return -ENOSYS;
48+ unsigned char *opt = *option;
49+ unsigned char err_offset = 0;
50+ u8 opt_len = opt[1];
51+ u8 opt_iter;
52+
53+ if (opt_len < 8) {
54+ err_offset = 1;
55+ goto out;
56+ }
57+
58+ if (get_unaligned_be32(&opt[2]) == 0) {
59+ err_offset = 2;
60+ goto out;
61+ }
62+
63+ for (opt_iter = 6; opt_iter < opt_len;) {
64+ if (opt[opt_iter + 1] > (opt_len - opt_iter)) {
65+ err_offset = opt_iter + 1;
66+ goto out;
67+ }
68+ opt_iter += opt[opt_iter + 1];
69+ }
70+
71+out:
72+ *option = opt + err_offset;
73+ return err_offset;
74+
75 }
76 #endif /* CONFIG_NETLABEL */
77
78--
791.7.10
80
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0031-net-l2tp_eth-fix-kernel-panic-on-rmmod-l2tp_eth.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0031-net-l2tp_eth-fix-kernel-panic-on-rmmod-l2tp_eth.patch
new file mode 100644
index 00000000..27a349bf
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0031-net-l2tp_eth-fix-kernel-panic-on-rmmod-l2tp_eth.patch
@@ -0,0 +1,43 @@
1From b5ad3a0c0628afa77ab9de116e252fbac91f6db2 Mon Sep 17 00:00:00 2001
2From: Eric Dumazet <edumazet@google.com>
3Date: Thu, 7 Jun 2012 00:07:20 +0000
4Subject: [PATCH 31/49] net: l2tp_eth: fix kernel panic on rmmod l2tp_eth
5
6[ Upstream commit a06998b88b1651c5f71c0e35f528bf2057188ead ]
7
8We must prevent module unloading if some devices are still attached to
9l2tp_eth driver.
10
11Signed-off-by: Eric Dumazet <edumazet@google.com>
12Reported-by: Denys Fedoryshchenko <denys@visp.net.lb>
13Tested-by: Denys Fedoryshchenko <denys@visp.net.lb>
14Cc: James Chapman <jchapman@katalix.com>
15Signed-off-by: David S. Miller <davem@davemloft.net>
16Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
17---
18 net/l2tp/l2tp_eth.c | 2 ++
19 1 file changed, 2 insertions(+)
20
21diff --git a/net/l2tp/l2tp_eth.c b/net/l2tp/l2tp_eth.c
22index d2726a7..3c55f63 100644
23--- a/net/l2tp/l2tp_eth.c
24+++ b/net/l2tp/l2tp_eth.c
25@@ -167,6 +167,7 @@ static void l2tp_eth_delete(struct l2tp_session *session)
26 if (dev) {
27 unregister_netdev(dev);
28 spriv->dev = NULL;
29+ module_put(THIS_MODULE);
30 }
31 }
32 }
33@@ -254,6 +255,7 @@ static int l2tp_eth_create(struct net *net, u32 tunnel_id, u32 session_id, u32 p
34 if (rc < 0)
35 goto out_del_dev;
36
37+ __module_get(THIS_MODULE);
38 /* Must be done after register_netdev() */
39 strlcpy(session->ifname, dev->name, IFNAMSIZ);
40
41--
421.7.10
43
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0032-l2tp-fix-a-race-in-l2tp_ip_sendmsg.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0032-l2tp-fix-a-race-in-l2tp_ip_sendmsg.patch
new file mode 100644
index 00000000..60f8a9d5
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0032-l2tp-fix-a-race-in-l2tp_ip_sendmsg.patch
@@ -0,0 +1,53 @@
1From a2ee8c14e43a7432b50a050cd07c06d43caa9314 Mon Sep 17 00:00:00 2001
2From: Eric Dumazet <edumazet@google.com>
3Date: Fri, 8 Jun 2012 06:25:00 +0000
4Subject: [PATCH 32/49] l2tp: fix a race in l2tp_ip_sendmsg()
5
6[ Upstream commit 4399a4df98a63e30fd16e9d0cecc46ea92269e8f ]
7
8Commit 081b1b1bb27f (l2tp: fix l2tp_ip_sendmsg() route handling) added
9a race, in case IP route cache is disabled.
10
11In this case, we should not do the dst_release(&rt->dst), since it'll
12free the dst immediately, instead of waiting a RCU grace period.
13
14Signed-off-by: Eric Dumazet <edumazet@google.com>
15Cc: James Chapman <jchapman@katalix.com>
16Cc: Denys Fedoryshchenko <denys@visp.net.lb>
17Signed-off-by: David S. Miller <davem@davemloft.net>
18Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
19---
20 net/l2tp/l2tp_ip.c | 9 ++++++---
21 1 file changed, 6 insertions(+), 3 deletions(-)
22
23diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c
24index 2fbbe1f..6c7e609 100644
25--- a/net/l2tp/l2tp_ip.c
26+++ b/net/l2tp/l2tp_ip.c
27@@ -515,10 +515,12 @@ static int l2tp_ip_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
28 sk->sk_bound_dev_if);
29 if (IS_ERR(rt))
30 goto no_route;
31- if (connected)
32+ if (connected) {
33 sk_setup_caps(sk, &rt->dst);
34- else
35- dst_release(&rt->dst); /* safe since we hold rcu_read_lock */
36+ } else {
37+ skb_dst_set(skb, &rt->dst);
38+ goto xmit;
39+ }
40 }
41
42 /* We dont need to clone dst here, it is guaranteed to not disappear.
43@@ -526,6 +528,7 @@ static int l2tp_ip_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
44 */
45 skb_dst_set_noref(skb, &rt->dst);
46
47+xmit:
48 /* Queue the packet to IP for output */
49 rc = ip_queue_xmit(skb, &inet->cork.fl);
50 rcu_read_unlock();
51--
521.7.10
53
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0033-sky2-fix-checksum-bit-management-on-some-chips.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0033-sky2-fix-checksum-bit-management-on-some-chips.patch
new file mode 100644
index 00000000..f1d1fb6c
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0033-sky2-fix-checksum-bit-management-on-some-chips.patch
@@ -0,0 +1,47 @@
1From f13b66c5fac7aa65e68a960806d6c5e97df723eb Mon Sep 17 00:00:00 2001
2From: stephen hemminger <shemminger@vyatta.com>
3Date: Wed, 6 Jun 2012 10:01:30 +0000
4Subject: [PATCH 33/49] sky2: fix checksum bit management on some chips
5
6[ Upstream commit 5ff0feac88ced864f44adb145142269196fa79d9 ]
7
8The newer flavors of Yukon II use a different method for receive
9checksum offload. This is indicated in the driver by the SKY2_HW_NEW_LE
10flag. On these newer chips, the BMU_ENA_RX_CHKSUM should not be set.
11
12The driver would get incorrectly toggle the bit, enabling the old
13checksum logic on these chips and cause a BUG_ON() assertion. If
14receive checksum was toggled via ethtool.
15
16Reported-by: Kirill Smelkov <kirr@mns.spb.ru>
17Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
18Signed-off-by: David S. Miller <davem@davemloft.net>
19Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
20---
21 drivers/net/ethernet/marvell/sky2.c | 10 ++++++----
22 1 file changed, 6 insertions(+), 4 deletions(-)
23
24diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
25index 65c51ff..11ddd838 100644
26--- a/drivers/net/ethernet/marvell/sky2.c
27+++ b/drivers/net/ethernet/marvell/sky2.c
28@@ -4361,10 +4361,12 @@ static int sky2_set_features(struct net_device *dev, u32 features)
29 struct sky2_port *sky2 = netdev_priv(dev);
30 u32 changed = dev->features ^ features;
31
32- if (changed & NETIF_F_RXCSUM) {
33- u32 on = features & NETIF_F_RXCSUM;
34- sky2_write32(sky2->hw, Q_ADDR(rxqaddr[sky2->port], Q_CSR),
35- on ? BMU_ENA_RX_CHKSUM : BMU_DIS_RX_CHKSUM);
36+ if ((changed & NETIF_F_RXCSUM) &&
37+ !(sky2->hw->flags & SKY2_HW_NEW_LE)) {
38+ sky2_write32(sky2->hw,
39+ Q_ADDR(rxqaddr[sky2->port], Q_CSR),
40+ (features & NETIF_F_RXCSUM)
41+ ? BMU_ENA_RX_CHKSUM : BMU_DIS_RX_CHKSUM);
42 }
43
44 if (changed & NETIF_F_RXHASH)
45--
461.7.10
47
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0034-be2net-fix-a-race-in-be_xmit.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0034-be2net-fix-a-race-in-be_xmit.patch
new file mode 100644
index 00000000..c67c72a3
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0034-be2net-fix-a-race-in-be_xmit.patch
@@ -0,0 +1,44 @@
1From 5588c981e9bc21ca9bd050a8e15feb4adb1215b9 Mon Sep 17 00:00:00 2001
2From: Eric Dumazet <edumazet@google.com>
3Date: Thu, 7 Jun 2012 22:59:59 +0000
4Subject: [PATCH 34/49] be2net: fix a race in be_xmit()
5
6[ Upstream commit cd8f76c0a0c6fce0b2cf23c9bd0123f91453f46d ]
7
8As soon as hardware is notified of a transmit, we no longer can assume
9skb can be dereferenced, as TX completion might have freed the packet.
10
11Signed-off-by: Eric Dumazet <edumazet@google.com>
12Cc: Sathya Perla <sathya.perla@emulex.com>
13Signed-off-by: David S. Miller <davem@davemloft.net>
14Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
15---
16 drivers/net/ethernet/emulex/benet/be_main.c | 5 +++--
17 1 file changed, 3 insertions(+), 2 deletions(-)
18
19diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
20index bf266a0..36c7c4e 100644
21--- a/drivers/net/ethernet/emulex/benet/be_main.c
22+++ b/drivers/net/ethernet/emulex/benet/be_main.c
23@@ -696,6 +696,8 @@ static netdev_tx_t be_xmit(struct sk_buff *skb,
24
25 copied = make_tx_wrbs(adapter, txq, skb, wrb_cnt, dummy_wrb);
26 if (copied) {
27+ int gso_segs = skb_shinfo(skb)->gso_segs;
28+
29 /* record the sent skb in the sent_skb table */
30 BUG_ON(txo->sent_skb_list[start]);
31 txo->sent_skb_list[start] = skb;
32@@ -713,8 +715,7 @@ static netdev_tx_t be_xmit(struct sk_buff *skb,
33
34 be_txq_notify(adapter, txq->id, wrb_cnt);
35
36- be_tx_stats_update(txo, wrb_cnt, copied,
37- skb_shinfo(skb)->gso_segs, stopped);
38+ be_tx_stats_update(txo, wrb_cnt, copied, gso_segs, stopped);
39 } else {
40 txq->head = start;
41 dev_kfree_skb_any(skb);
42--
431.7.10
44
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0035-dummy-fix-rcu_sched-self-detected-stalls.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0035-dummy-fix-rcu_sched-self-detected-stalls.patch
new file mode 100644
index 00000000..33f9ffa0
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0035-dummy-fix-rcu_sched-self-detected-stalls.patch
@@ -0,0 +1,49 @@
1From 6e4b4fb46ccc49cacb3258764f2414ecd4fb27a4 Mon Sep 17 00:00:00 2001
2From: Eric Dumazet <edumazet@google.com>
3Date: Sun, 10 Jun 2012 21:11:57 +0000
4Subject: [PATCH 35/49] dummy: fix rcu_sched self-detected stalls
5
6[ Upstream commit 16b0dc29c1af9df341428f4c49ada4f626258082 ]
7
8Trying to "modprobe dummy numdummies=30000" triggers :
9
10INFO: rcu_sched self-detected stall on CPU { 8} (t=60000 jiffies)
11
12After this splat, RTNL is locked and reboot is needed.
13
14We must call cond_resched() to avoid this, even holding RTNL.
15
16Signed-off-by: Eric Dumazet <edumazet@google.com>
17Signed-off-by: David S. Miller <davem@davemloft.net>
18Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
19---
20 drivers/net/dummy.c | 5 ++++-
21 1 file changed, 4 insertions(+), 1 deletion(-)
22
23diff --git a/drivers/net/dummy.c b/drivers/net/dummy.c
24index eeac9ca..68fe73c 100644
25--- a/drivers/net/dummy.c
26+++ b/drivers/net/dummy.c
27@@ -37,6 +37,7 @@
28 #include <linux/rtnetlink.h>
29 #include <net/rtnetlink.h>
30 #include <linux/u64_stats_sync.h>
31+#include <linux/sched.h>
32
33 static int numdummies = 1;
34
35@@ -186,8 +187,10 @@ static int __init dummy_init_module(void)
36 rtnl_lock();
37 err = __rtnl_link_register(&dummy_link_ops);
38
39- for (i = 0; i < numdummies && !err; i++)
40+ for (i = 0; i < numdummies && !err; i++) {
41 err = dummy_init_one();
42+ cond_resched();
43+ }
44 if (err < 0)
45 __rtnl_link_unregister(&dummy_link_ops);
46 rtnl_unlock();
47--
481.7.10
49
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0036-bonding-Fix-corrupted-queue_mapping.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0036-bonding-Fix-corrupted-queue_mapping.patch
new file mode 100644
index 00000000..6f9681c5
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0036-bonding-Fix-corrupted-queue_mapping.patch
@@ -0,0 +1,117 @@
1From 218ae95441a945d2a474b2277156749f416b8859 Mon Sep 17 00:00:00 2001
2From: Eric Dumazet <edumazet@google.com>
3Date: Tue, 12 Jun 2012 06:03:51 +0000
4Subject: [PATCH 36/49] bonding: Fix corrupted queue_mapping
5
6[ Upstream commit 5ee31c6898ea5537fcea160999d60dc63bc0c305 ]
7
8In the transmit path of the bonding driver, skb->cb is used to
9stash the skb->queue_mapping so that the bonding device can set its
10own queue mapping. This value becomes corrupted since the skb->cb is
11also used in __dev_xmit_skb.
12
13When transmitting through bonding driver, bond_select_queue is
14called from dev_queue_xmit. In bond_select_queue the original
15skb->queue_mapping is copied into skb->cb (via bond_queue_mapping)
16and skb->queue_mapping is overwritten with the bond driver queue.
17
18Subsequently in dev_queue_xmit, __dev_xmit_skb is called which writes
19the packet length into skb->cb, thereby overwriting the stashed
20queue mappping. In bond_dev_queue_xmit (called from hard_start_xmit),
21the queue mapping for the skb is set to the stashed value which is now
22the skb length and hence is an invalid queue for the slave device.
23
24If we want to save skb->queue_mapping into skb->cb[], best place is to
25add a field in struct qdisc_skb_cb, to make sure it wont conflict with
26other layers (eg : Qdiscc, Infiniband...)
27
28This patchs also makes sure (struct qdisc_skb_cb)->data is aligned on 8
29bytes :
30
31netem qdisc for example assumes it can store an u64 in it, without
32misalignment penalty.
33
34Note : we only have 20 bytes left in (struct qdisc_skb_cb)->data[].
35The largest user is CHOKe and it fills it.
36
37Based on a previous patch from Tom Herbert.
38
39Signed-off-by: Eric Dumazet <edumazet@google.com>
40Reported-by: Tom Herbert <therbert@google.com>
41Cc: John Fastabend <john.r.fastabend@intel.com>
42Cc: Roland Dreier <roland@kernel.org>
43Acked-by: Neil Horman <nhorman@tuxdriver.com>
44Signed-off-by: David S. Miller <davem@davemloft.net>
45Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
46---
47 drivers/net/bonding/bond_main.c | 9 +++++----
48 include/net/sch_generic.h | 7 +++++--
49 2 files changed, 10 insertions(+), 6 deletions(-)
50
51diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
52index f65e0b9..1a88e38 100644
53--- a/drivers/net/bonding/bond_main.c
54+++ b/drivers/net/bonding/bond_main.c
55@@ -77,6 +77,7 @@
56 #include <net/route.h>
57 #include <net/net_namespace.h>
58 #include <net/netns/generic.h>
59+#include <net/pkt_sched.h>
60 #include "bonding.h"
61 #include "bond_3ad.h"
62 #include "bond_alb.h"
63@@ -382,8 +383,6 @@ struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr)
64 return next;
65 }
66
67-#define bond_queue_mapping(skb) (*(u16 *)((skb)->cb))
68-
69 /**
70 * bond_dev_queue_xmit - Prepare skb for xmit.
71 *
72@@ -396,7 +395,9 @@ int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb,
73 {
74 skb->dev = slave_dev;
75
76- skb->queue_mapping = bond_queue_mapping(skb);
77+ BUILD_BUG_ON(sizeof(skb->queue_mapping) !=
78+ sizeof(qdisc_skb_cb(skb)->bond_queue_mapping));
79+ skb->queue_mapping = qdisc_skb_cb(skb)->bond_queue_mapping;
80
81 if (unlikely(netpoll_tx_running(slave_dev)))
82 bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb);
83@@ -4151,7 +4152,7 @@ static u16 bond_select_queue(struct net_device *dev, struct sk_buff *skb)
84 /*
85 * Save the original txq to restore before passing to the driver
86 */
87- bond_queue_mapping(skb) = skb->queue_mapping;
88+ qdisc_skb_cb(skb)->bond_queue_mapping = skb->queue_mapping;
89
90 if (unlikely(txq >= dev->real_num_tx_queues)) {
91 do {
92diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
93index 55ce96b..9d7d54a 100644
94--- a/include/net/sch_generic.h
95+++ b/include/net/sch_generic.h
96@@ -220,13 +220,16 @@ struct tcf_proto {
97
98 struct qdisc_skb_cb {
99 unsigned int pkt_len;
100- unsigned char data[24];
101+ u16 bond_queue_mapping;
102+ u16 _pad;
103+ unsigned char data[20];
104 };
105
106 static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz)
107 {
108 struct qdisc_skb_cb *qcb;
109- BUILD_BUG_ON(sizeof(skb->cb) < sizeof(unsigned int) + sz);
110+
111+ BUILD_BUG_ON(sizeof(skb->cb) < offsetof(struct qdisc_skb_cb, data) + sz);
112 BUILD_BUG_ON(sizeof(qcb->data) < sz);
113 }
114
115--
1161.7.10
117
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0037-ethtool-allow-ETHTOOL_GSSET_INFO-for-users.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0037-ethtool-allow-ETHTOOL_GSSET_INFO-for-users.patch
new file mode 100644
index 00000000..6e02ce17
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0037-ethtool-allow-ETHTOOL_GSSET_INFO-for-users.patch
@@ -0,0 +1,36 @@
1From 7d1a3b73b1d85f034aeb9e5c1e4eb44ce56658be Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
3Date: Sun, 22 Jan 2012 00:20:40 +0000
4Subject: [PATCH 37/49] ethtool: allow ETHTOOL_GSSET_INFO for users
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9[ Upstream commit f80400a26a2e8bff541de12834a1134358bb6642 ]
10
11Allow ETHTOOL_GSSET_INFO ethtool ioctl() for unprivileged users.
12ETHTOOL_GSTRINGS is already allowed, but is unusable without this one.
13
14Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
15Acked-by: Ben Hutchings <bhutchings@solarflare.com>
16Signed-off-by: David S. Miller <davem@davemloft.net>
17Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
18---
19 net/core/ethtool.c | 1 +
20 1 file changed, 1 insertion(+)
21
22diff --git a/net/core/ethtool.c b/net/core/ethtool.c
23index 2b587ec..2367246 100644
24--- a/net/core/ethtool.c
25+++ b/net/core/ethtool.c
26@@ -1672,6 +1672,7 @@ int dev_ethtool(struct net *net, struct ifreq *ifr)
27 case ETHTOOL_GRXCSUM:
28 case ETHTOOL_GTXCSUM:
29 case ETHTOOL_GSG:
30+ case ETHTOOL_GSSET_INFO:
31 case ETHTOOL_GSTRINGS:
32 case ETHTOOL_GTSO:
33 case ETHTOOL_GPERMADDR:
34--
351.7.10
36
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0038-netpoll-fix-netpoll_send_udp-bugs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0038-netpoll-fix-netpoll_send_udp-bugs.patch
new file mode 100644
index 00000000..e9062460
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0038-netpoll-fix-netpoll_send_udp-bugs.patch
@@ -0,0 +1,77 @@
1From 1757946f8c246a1b46bf27d40716d4f78145f4a1 Mon Sep 17 00:00:00 2001
2From: Eric Dumazet <edumazet@google.com>
3Date: Tue, 12 Jun 2012 19:30:21 +0000
4Subject: [PATCH 38/49] netpoll: fix netpoll_send_udp() bugs
5
6[ Upstream commit 954fba0274058d27c7c07b5ea07c41b3b7477894 ]
7
8Bogdan Hamciuc diagnosed and fixed following bug in netpoll_send_udp() :
9
10"skb->len += len;" instead of "skb_put(skb, len);"
11
12Meaning that _if_ a network driver needs to call skb_realloc_headroom(),
13only packet headers would be copied, leaving garbage in the payload.
14
15However the skb_realloc_headroom() must be avoided as much as possible
16since it requires memory and netpoll tries hard to work even if memory
17is exhausted (using a pool of preallocated skbs)
18
19It appears netpoll_send_udp() reserved 16 bytes for the ethernet header,
20which happens to work for typicall drivers but not all.
21
22Right thing is to use LL_RESERVED_SPACE(dev)
23(And also add dev->needed_tailroom of tailroom)
24
25This patch combines both fixes.
26
27Many thanks to Bogdan for raising this issue.
28
29Reported-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
30Signed-off-by: Eric Dumazet <edumazet@google.com>
31Tested-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
32Cc: Herbert Xu <herbert@gondor.apana.org.au>
33Cc: Neil Horman <nhorman@tuxdriver.com>
34Reviewed-by: Neil Horman <nhorman@tuxdriver.com>
35Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
36Signed-off-by: David S. Miller <davem@davemloft.net>
37Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
38---
39 net/core/netpoll.c | 11 ++++++-----
40 1 file changed, 6 insertions(+), 5 deletions(-)
41
42diff --git a/net/core/netpoll.c b/net/core/netpoll.c
43index ab0633f..db4bb7a 100644
44--- a/net/core/netpoll.c
45+++ b/net/core/netpoll.c
46@@ -351,22 +351,23 @@ EXPORT_SYMBOL(netpoll_send_skb_on_dev);
47
48 void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
49 {
50- int total_len, eth_len, ip_len, udp_len;
51+ int total_len, ip_len, udp_len;
52 struct sk_buff *skb;
53 struct udphdr *udph;
54 struct iphdr *iph;
55 struct ethhdr *eth;
56
57 udp_len = len + sizeof(*udph);
58- ip_len = eth_len = udp_len + sizeof(*iph);
59- total_len = eth_len + ETH_HLEN + NET_IP_ALIGN;
60+ ip_len = udp_len + sizeof(*iph);
61+ total_len = ip_len + LL_RESERVED_SPACE(np->dev);
62
63- skb = find_skb(np, total_len, total_len - len);
64+ skb = find_skb(np, total_len + np->dev->needed_tailroom,
65+ total_len - len);
66 if (!skb)
67 return;
68
69 skb_copy_to_linear_data(skb, msg, len);
70- skb->len += len;
71+ skb_put(skb, len);
72
73 skb_push(skb, sizeof(*udph));
74 skb_reset_transport_header(skb);
75--
761.7.10
77
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0039-ipv6-Move-ipv6-proc-file-registration-to-end-of-init.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0039-ipv6-Move-ipv6-proc-file-registration-to-end-of-init.patch
new file mode 100644
index 00000000..202fca3c
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0039-ipv6-Move-ipv6-proc-file-registration-to-end-of-init.patch
@@ -0,0 +1,126 @@
1From 0991f9681e1142099a36959648a920e9ee9dda33 Mon Sep 17 00:00:00 2001
2From: Thomas Graf <tgraf@suug.ch>
3Date: Mon, 18 Jun 2012 12:08:33 +0000
4Subject: [PATCH 39/49] ipv6: Move ipv6 proc file registration to end of init
5 order
6
7[ Upstream commit d189634ecab947c10f6f832258b103d0bbfe73cc ]
8
9/proc/net/ipv6_route reflects the contents of fib_table_hash. The proc
10handler is installed in ip6_route_net_init() whereas fib_table_hash is
11allocated in fib6_net_init() _after_ the proc handler has been installed.
12
13This opens up a short time frame to access fib_table_hash with its pants
14down.
15
16Move the registration of the proc files to a later point in the init
17order to avoid the race.
18
19Tested :-)
20
21Signed-off-by: Thomas Graf <tgraf@suug.ch>
22Signed-off-by: David S. Miller <davem@davemloft.net>
23Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
24---
25 net/ipv6/route.c | 41 +++++++++++++++++++++++++++++++----------
26 1 file changed, 31 insertions(+), 10 deletions(-)
27
28diff --git a/net/ipv6/route.c b/net/ipv6/route.c
29index 059b9d9..2e21751 100644
30--- a/net/ipv6/route.c
31+++ b/net/ipv6/route.c
32@@ -2881,10 +2881,6 @@ static int __net_init ip6_route_net_init(struct net *net)
33 net->ipv6.sysctl.ip6_rt_mtu_expires = 10*60*HZ;
34 net->ipv6.sysctl.ip6_rt_min_advmss = IPV6_MIN_MTU - 20 - 40;
35
36-#ifdef CONFIG_PROC_FS
37- proc_net_fops_create(net, "ipv6_route", 0, &ipv6_route_proc_fops);
38- proc_net_fops_create(net, "rt6_stats", S_IRUGO, &rt6_stats_seq_fops);
39-#endif
40 net->ipv6.ip6_rt_gc_expire = 30*HZ;
41
42 ret = 0;
43@@ -2905,10 +2901,6 @@ out_ip6_dst_ops:
44
45 static void __net_exit ip6_route_net_exit(struct net *net)
46 {
47-#ifdef CONFIG_PROC_FS
48- proc_net_remove(net, "ipv6_route");
49- proc_net_remove(net, "rt6_stats");
50-#endif
51 kfree(net->ipv6.ip6_null_entry);
52 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
53 kfree(net->ipv6.ip6_prohibit_entry);
54@@ -2917,11 +2909,33 @@ static void __net_exit ip6_route_net_exit(struct net *net)
55 dst_entries_destroy(&net->ipv6.ip6_dst_ops);
56 }
57
58+static int __net_init ip6_route_net_init_late(struct net *net)
59+{
60+#ifdef CONFIG_PROC_FS
61+ proc_net_fops_create(net, "ipv6_route", 0, &ipv6_route_proc_fops);
62+ proc_net_fops_create(net, "rt6_stats", S_IRUGO, &rt6_stats_seq_fops);
63+#endif
64+ return 0;
65+}
66+
67+static void __net_exit ip6_route_net_exit_late(struct net *net)
68+{
69+#ifdef CONFIG_PROC_FS
70+ proc_net_remove(net, "ipv6_route");
71+ proc_net_remove(net, "rt6_stats");
72+#endif
73+}
74+
75 static struct pernet_operations ip6_route_net_ops = {
76 .init = ip6_route_net_init,
77 .exit = ip6_route_net_exit,
78 };
79
80+static struct pernet_operations ip6_route_net_late_ops = {
81+ .init = ip6_route_net_init_late,
82+ .exit = ip6_route_net_exit_late,
83+};
84+
85 static struct notifier_block ip6_route_dev_notifier = {
86 .notifier_call = ip6_route_dev_notify,
87 .priority = 0,
88@@ -2971,19 +2985,25 @@ int __init ip6_route_init(void)
89 if (ret)
90 goto xfrm6_init;
91
92+ ret = register_pernet_subsys(&ip6_route_net_late_ops);
93+ if (ret)
94+ goto fib6_rules_init;
95+
96 ret = -ENOBUFS;
97 if (__rtnl_register(PF_INET6, RTM_NEWROUTE, inet6_rtm_newroute, NULL, NULL) ||
98 __rtnl_register(PF_INET6, RTM_DELROUTE, inet6_rtm_delroute, NULL, NULL) ||
99 __rtnl_register(PF_INET6, RTM_GETROUTE, inet6_rtm_getroute, NULL, NULL))
100- goto fib6_rules_init;
101+ goto out_register_late_subsys;
102
103 ret = register_netdevice_notifier(&ip6_route_dev_notifier);
104 if (ret)
105- goto fib6_rules_init;
106+ goto out_register_late_subsys;
107
108 out:
109 return ret;
110
111+out_register_late_subsys:
112+ unregister_pernet_subsys(&ip6_route_net_late_ops);
113 fib6_rules_init:
114 fib6_rules_cleanup();
115 xfrm6_init:
116@@ -3002,6 +3022,7 @@ out_kmem_cache:
117 void ip6_route_cleanup(void)
118 {
119 unregister_netdevice_notifier(&ip6_route_dev_notifier);
120+ unregister_pernet_subsys(&ip6_route_net_late_ops);
121 fib6_rules_cleanup();
122 xfrm6_fini();
123 fib6_gc_cleanup();
124--
1251.7.10
126
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0040-bridge-Assign-rtnl_link_ops-to-bridge-devices-create.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0040-bridge-Assign-rtnl_link_ops-to-bridge-devices-create.patch
new file mode 100644
index 00000000..bacca537
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0040-bridge-Assign-rtnl_link_ops-to-bridge-devices-create.patch
@@ -0,0 +1,62 @@
1From e310ae5ff49ec77b2c991cffe288ac766e5f5203 Mon Sep 17 00:00:00 2001
2From: stephen hemminger <shemminger@vyatta.com>
3Date: Tue, 26 Jun 2012 05:48:45 +0000
4Subject: [PATCH 40/49] bridge: Assign rtnl_link_ops to bridge devices created
5 via ioctl (v2)
6
7[ Upstream commit 149ddd83a92b02c658d6c61f3276eb6500d585e8 ]
8
9This ensures that bridges created with brctl(8) or ioctl(2) directly
10also carry IFLA_LINKINFO when dumped over netlink. This also allows
11to create a bridge with ioctl(2) and delete it with RTM_DELLINK.
12
13Signed-off-by: Thomas Graf <tgraf@suug.ch>
14Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
15Signed-off-by: David S. Miller <davem@davemloft.net>
16Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
17---
18 net/bridge/br_if.c | 1 +
19 net/bridge/br_netlink.c | 2 +-
20 net/bridge/br_private.h | 1 +
21 3 files changed, 3 insertions(+), 1 deletion(-)
22
23diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
24index f603e5b..f3f75ad 100644
25--- a/net/bridge/br_if.c
26+++ b/net/bridge/br_if.c
27@@ -240,6 +240,7 @@ int br_add_bridge(struct net *net, const char *name)
28 return -ENOMEM;
29
30 dev_net_set(dev, net);
31+ dev->rtnl_link_ops = &br_link_ops;
32
33 res = register_netdev(dev);
34 if (res)
35diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
36index a1daf82..cbf9ccd 100644
37--- a/net/bridge/br_netlink.c
38+++ b/net/bridge/br_netlink.c
39@@ -211,7 +211,7 @@ static int br_validate(struct nlattr *tb[], struct nlattr *data[])
40 return 0;
41 }
42
43-static struct rtnl_link_ops br_link_ops __read_mostly = {
44+struct rtnl_link_ops br_link_ops __read_mostly = {
45 .kind = "bridge",
46 .priv_size = sizeof(struct net_bridge),
47 .setup = br_dev_setup,
48diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
49index 93264df..b9bba8f 100644
50--- a/net/bridge/br_private.h
51+++ b/net/bridge/br_private.h
52@@ -536,6 +536,7 @@ extern int (*br_fdb_test_addr_hook)(struct net_device *dev, unsigned char *addr)
53 #endif
54
55 /* br_netlink.c */
56+extern struct rtnl_link_ops br_link_ops;
57 extern int br_netlink_init(void);
58 extern void br_netlink_fini(void);
59 extern void br_ifinfo_notify(int event, struct net_bridge_port *port);
60--
611.7.10
62
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0041-Btrfs-run-delayed-directory-updates-during-log-repla.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0041-Btrfs-run-delayed-directory-updates-during-log-repla.patch
new file mode 100644
index 00000000..c6b1663c
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0041-Btrfs-run-delayed-directory-updates-during-log-repla.patch
@@ -0,0 +1,56 @@
1From 478ed8ce8490d599e1bb8e79007b85d6a9e7f1a0 Mon Sep 17 00:00:00 2001
2From: Chris Mason <chris.mason@fusionio.com>
3Date: Mon, 2 Jul 2012 15:29:53 -0400
4Subject: [PATCH 41/49] Btrfs: run delayed directory updates during log replay
5
6commit b6305567e7d31b0bec1b8cb9ec0cadd7f7086f5f upstream.
7
8While we are resolving directory modifications in the
9tree log, we are triggering delayed metadata updates to
10the filesystem btrees.
11
12This commit forces the delayed updates to run so the
13replay code can find any modifications done. It stops
14us from crashing because the directory deleltion replay
15expects items to be removed immediately from the tree.
16
17Signed-off-by: Chris Mason <chris.mason@fusionio.com>
18Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
19---
20 fs/btrfs/tree-log.c | 6 ++++++
21 1 file changed, 6 insertions(+)
22
23diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
24index 3568374..19b127c 100644
25--- a/fs/btrfs/tree-log.c
26+++ b/fs/btrfs/tree-log.c
27@@ -692,6 +692,8 @@ static noinline int drop_one_dir_item(struct btrfs_trans_handle *trans,
28 kfree(name);
29
30 iput(inode);
31+
32+ btrfs_run_delayed_items(trans, root);
33 return ret;
34 }
35
36@@ -897,6 +899,7 @@ again:
37 ret = btrfs_unlink_inode(trans, root, dir,
38 inode, victim_name,
39 victim_name_len);
40+ btrfs_run_delayed_items(trans, root);
41 }
42 kfree(victim_name);
43 ptr = (unsigned long)(victim_ref + 1) + victim_name_len;
44@@ -1477,6 +1480,9 @@ again:
45 ret = btrfs_unlink_inode(trans, root, dir, inode,
46 name, name_len);
47 BUG_ON(ret);
48+
49+ btrfs_run_delayed_items(trans, root);
50+
51 kfree(name);
52 iput(inode);
53
54--
551.7.10
56
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0042-cifs-when-server-doesn-t-set-CAP_LARGE_READ_X-cap-de.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0042-cifs-when-server-doesn-t-set-CAP_LARGE_READ_X-cap-de.patch
new file mode 100644
index 00000000..435c9cb3
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0042-cifs-when-server-doesn-t-set-CAP_LARGE_READ_X-cap-de.patch
@@ -0,0 +1,60 @@
1From 3ef708aec9359ad6b05d8ae43663cf5e73c58e9d Mon Sep 17 00:00:00 2001
2From: Jeff Layton <jlayton@redhat.com>
3Date: Mon, 2 Jul 2012 07:24:25 -0400
4Subject: [PATCH 42/49] cifs: when server doesn't set CAP_LARGE_READ_X, cap
5 default rsize at MaxBufferSize
6
7commit ec01d738a1691dfc85b96b9f796020267a7be577 upstream.
8
9When the server doesn't advertise CAP_LARGE_READ_X, then MS-CIFS states
10that you must cap the size of the read at the client's MaxBufferSize.
11Unfortunately, testing with many older servers shows that they often
12can't service a read larger than their own MaxBufferSize.
13
14Since we can't assume what the server will do in this situation, we must
15be conservative here for the default. When the server can't do large
16reads, then assume that it can't satisfy any read larger than its
17MaxBufferSize either.
18
19Luckily almost all modern servers can do large reads, so this won't
20affect them. This is really just for older win9x and OS/2 era servers.
21Also, note that this patch just governs the default rsize. The admin can
22always override this if he so chooses.
23
24Reported-by: David H. Durgee <dhdurgee@acm.org>
25Signed-off-by: Jeff Layton <jlayton@redhat.com>
26Signed-off-by: Steven French <sfrench@w500smf.(none)>
27Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
28---
29 fs/cifs/connect.c | 9 +++------
30 1 file changed, 3 insertions(+), 6 deletions(-)
31
32diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
33index 9e0675a..b21670c 100644
34--- a/fs/cifs/connect.c
35+++ b/fs/cifs/connect.c
36@@ -2975,18 +2975,15 @@ cifs_negotiate_rsize(struct cifs_tcon *tcon, struct smb_vol *pvolume_info)
37 * MS-CIFS indicates that servers are only limited by the client's
38 * bufsize for reads, testing against win98se shows that it throws
39 * INVALID_PARAMETER errors if you try to request too large a read.
40+ * OS/2 just sends back short reads.
41 *
42- * If the server advertises a MaxBufferSize of less than one page,
43- * assume that it also can't satisfy reads larger than that either.
44- *
45- * FIXME: Is there a better heuristic for this?
46+ * If the server doesn't advertise CAP_LARGE_READ_X, then assume that
47+ * it can't handle a read request larger than its MaxBufferSize either.
48 */
49 if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_READ_CAP))
50 defsize = CIFS_DEFAULT_IOSIZE;
51 else if (server->capabilities & CAP_LARGE_READ_X)
52 defsize = CIFS_DEFAULT_NON_POSIX_RSIZE;
53- else if (server->maxBuf >= PAGE_CACHE_SIZE)
54- defsize = CIFSMaxBufSize;
55 else
56 defsize = server->maxBuf - sizeof(READ_RSP);
57
58--
591.7.10
60
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0043-ocfs2-clear-unaligned-io-flag-when-dio-fails.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0043-ocfs2-clear-unaligned-io-flag-when-dio-fails.patch
new file mode 100644
index 00000000..c07be0da
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0043-ocfs2-clear-unaligned-io-flag-when-dio-fails.patch
@@ -0,0 +1,38 @@
1From 605e639247e5f40be06b013748769bd2cc252e04 Mon Sep 17 00:00:00 2001
2From: Junxiao Bi <junxiao.bi@oracle.com>
3Date: Wed, 27 Jun 2012 17:09:55 +0800
4Subject: [PATCH 43/49] ocfs2: clear unaligned io flag when dio fails
5
6commit 3e5d3c35a68c9a933bdbdd8685bd1a205b57e806 upstream.
7
8The unaligned io flag is set in the kiocb when an unaligned
9dio is issued, it should be cleared even when the dio fails,
10or it may affect the following io which are using the same
11kiocb.
12
13Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
14Signed-off-by: Joel Becker <jlbec@evilplan.org>
15Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
16---
17 fs/ocfs2/file.c | 4 +++-
18 1 file changed, 3 insertions(+), 1 deletion(-)
19
20diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
21index 6e39668..07ee5b4 100644
22--- a/fs/ocfs2/file.c
23+++ b/fs/ocfs2/file.c
24@@ -2422,8 +2422,10 @@ out_dio:
25 unaligned_dio = 0;
26 }
27
28- if (unaligned_dio)
29+ if (unaligned_dio) {
30+ ocfs2_iocb_clear_unaligned_aio(iocb);
31 atomic_dec(&OCFS2_I(inode)->ip_unaligned_aio);
32+ }
33
34 out:
35 if (rw_level != -1)
36--
371.7.10
38
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0044-aio-make-kiocb-private-NUll-in-init_sync_kiocb.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0044-aio-make-kiocb-private-NUll-in-init_sync_kiocb.patch
new file mode 100644
index 00000000..1084fef2
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0044-aio-make-kiocb-private-NUll-in-init_sync_kiocb.patch
@@ -0,0 +1,39 @@
1From 21dbeb828448f788ffb3590cf6706c074bb1048f Mon Sep 17 00:00:00 2001
2From: Junxiao Bi <junxiao.bi@oracle.com>
3Date: Wed, 27 Jun 2012 17:09:54 +0800
4Subject: [PATCH 44/49] aio: make kiocb->private NUll in init_sync_kiocb()
5
6commit 2dfd06036ba7ae8e7be2daf5a2fff1dac42390bf upstream.
7
8Ocfs2 uses kiocb.*private as a flag of unsigned long size. In
9commit a11f7e6 ocfs2: serialize unaligned aio, the unaligned
10io flag is involved in it to serialize the unaligned aio. As
11*private is not initialized in init_sync_kiocb() of do_sync_write(),
12this unaligned io flag may be unexpectly set in an aligned dio.
13And this will cause OCFS2_I(inode)->ip_unaligned_aio decreased
14to -1 in ocfs2_dio_end_io(), thus the following unaligned dio
15will hang forever at ocfs2_aiodio_wait() in ocfs2_file_aio_write().
16
17Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
18Acked-by: Jeff Moyer <jmoyer@redhat.com>
19Signed-off-by: Joel Becker <jlbec@evilplan.org>
20Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
21---
22 include/linux/aio.h | 1 +
23 1 file changed, 1 insertion(+)
24
25diff --git a/include/linux/aio.h b/include/linux/aio.h
26index 2314ad8..b1a520e 100644
27--- a/include/linux/aio.h
28+++ b/include/linux/aio.h
29@@ -140,6 +140,7 @@ struct kiocb {
30 (x)->ki_dtor = NULL; \
31 (x)->ki_obj.tsk = tsk; \
32 (x)->ki_user_data = 0; \
33+ (x)->private = NULL; \
34 } while (0)
35
36 #define AIO_RING_MAGIC 0xa10a10a1
37--
381.7.10
39
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0045-mtd-cafe_nand-fix-an-vs-mistake.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0045-mtd-cafe_nand-fix-an-vs-mistake.patch
new file mode 100644
index 00000000..9003be45
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0045-mtd-cafe_nand-fix-an-vs-mistake.patch
@@ -0,0 +1,39 @@
1From e48907a3c090265dcbe0965537bbe9b510a1f7ef Mon Sep 17 00:00:00 2001
2From: Dan Carpenter <dan.carpenter@oracle.com>
3Date: Sat, 9 Jun 2012 19:08:25 +0300
4Subject: [PATCH 45/49] mtd: cafe_nand: fix an & vs | mistake
5
6commit 48f8b641297df49021093763a3271119a84990a2 upstream.
7
8The intent here was clearly to set result to true if the 0x40000000 flag
9was set. But instead there was a | vs & typo and we always set result
10to true.
11
12Artem: check the spec at
13wiki.laptop.org/images/5/5c/88ALP01_Datasheet_July_2007.pdf
14and this fix looks correct.
15
16Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
17Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
18Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
19Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
20---
21 drivers/mtd/nand/cafe_nand.c | 2 +-
22 1 file changed, 1 insertion(+), 1 deletion(-)
23
24diff --git a/drivers/mtd/nand/cafe_nand.c b/drivers/mtd/nand/cafe_nand.c
25index 72d3f23..68ecf48 100644
26--- a/drivers/mtd/nand/cafe_nand.c
27+++ b/drivers/mtd/nand/cafe_nand.c
28@@ -102,7 +102,7 @@ static const char *part_probes[] = { "cmdlinepart", "RedBoot", NULL };
29 static int cafe_device_ready(struct mtd_info *mtd)
30 {
31 struct cafe_priv *cafe = mtd->priv;
32- int result = !!(cafe_readl(cafe, NAND_STATUS) | 0x40000000);
33+ int result = !!(cafe_readl(cafe, NAND_STATUS) & 0x40000000);
34 uint32_t irqs = cafe_readl(cafe, NAND_IRQ);
35
36 cafe_writel(cafe, irqs, NAND_IRQ);
37--
381.7.10
39
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0046-mm-Hold-a-file-reference-in-madvise_remove.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0046-mm-Hold-a-file-reference-in-madvise_remove.patch
new file mode 100644
index 00000000..82bb8b1b
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0046-mm-Hold-a-file-reference-in-madvise_remove.patch
@@ -0,0 +1,80 @@
1From 565460286859b1512972fc637f2c653cf648d622 Mon Sep 17 00:00:00 2001
2From: Andy Lutomirski <luto@amacapital.net>
3Date: Thu, 5 Jul 2012 16:00:11 -0700
4Subject: [PATCH 46/49] mm: Hold a file reference in madvise_remove
5
6commit 9ab4233dd08036fe34a89c7dc6f47a8bf2eb29eb upstream.
7
8Otherwise the code races with munmap (causing a use-after-free
9of the vma) or with close (causing a use-after-free of the struct
10file).
11
12The bug was introduced by commit 90ed52ebe481 ("[PATCH] holepunch: fix
13mmap_sem i_mutex deadlock")
14
15Cc: Hugh Dickins <hugh@veritas.com>
16Cc: Miklos Szeredi <mszeredi@suse.cz>
17Cc: Badari Pulavarty <pbadari@us.ibm.com>
18Cc: Nick Piggin <npiggin@suse.de>
19Signed-off-by: Andy Lutomirski <luto@amacapital.net>
20Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
21[bwh: Backported to 3.2:
22 - Adjust context
23 - madvise_remove() calls vmtruncate_range(), not do_fallocate()]
24Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
25---
26 mm/madvise.c | 16 +++++++++++++---
27 1 file changed, 13 insertions(+), 3 deletions(-)
28
29diff --git a/mm/madvise.c b/mm/madvise.c
30index 74bf193..23d3a6b 100644
31--- a/mm/madvise.c
32+++ b/mm/madvise.c
33@@ -13,6 +13,7 @@
34 #include <linux/hugetlb.h>
35 #include <linux/sched.h>
36 #include <linux/ksm.h>
37+#include <linux/file.h>
38
39 /*
40 * Any behaviour which results in changes to the vma->vm_flags needs to
41@@ -197,14 +198,16 @@ static long madvise_remove(struct vm_area_struct *vma,
42 struct address_space *mapping;
43 loff_t offset, endoff;
44 int error;
45+ struct file *f;
46
47 *prev = NULL; /* tell sys_madvise we drop mmap_sem */
48
49 if (vma->vm_flags & (VM_LOCKED|VM_NONLINEAR|VM_HUGETLB))
50 return -EINVAL;
51
52- if (!vma->vm_file || !vma->vm_file->f_mapping
53- || !vma->vm_file->f_mapping->host) {
54+ f = vma->vm_file;
55+
56+ if (!f || !f->f_mapping || !f->f_mapping->host) {
57 return -EINVAL;
58 }
59
60@@ -218,9 +221,16 @@ static long madvise_remove(struct vm_area_struct *vma,
61 endoff = (loff_t)(end - vma->vm_start - 1)
62 + ((loff_t)vma->vm_pgoff << PAGE_SHIFT);
63
64- /* vmtruncate_range needs to take i_mutex */
65+ /*
66+ * vmtruncate_range may need to take i_mutex. We need to
67+ * explicitly grab a reference because the vma (and hence the
68+ * vma's reference to the file) can go away as soon as we drop
69+ * mmap_sem.
70+ */
71+ get_file(f);
72 up_read(&current->mm->mmap_sem);
73 error = vmtruncate_range(mapping->host, offset, endoff);
74+ fput(f);
75 down_read(&current->mm->mmap_sem);
76 return error;
77 }
78--
791.7.10
80
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0047-tcm_fc-Resolve-suspicious-RCU-usage-warnings.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0047-tcm_fc-Resolve-suspicious-RCU-usage-warnings.patch
new file mode 100644
index 00000000..e0373e0a
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0047-tcm_fc-Resolve-suspicious-RCU-usage-warnings.patch
@@ -0,0 +1,36 @@
1From 7b764186beda304507cde2161d84f4e9b16c8ce6 Mon Sep 17 00:00:00 2001
2From: Mark Rustad <mark.d.rustad@intel.com>
3Date: Tue, 26 Jun 2012 15:57:30 -0700
4Subject: [PATCH 47/49] tcm_fc: Resolve suspicious RCU usage warnings
5
6commit 863555be0c81558b1af277addcf68acb8f778860 upstream.
7
8Use rcu_dereference_protected to tell rcu that the ft_lport_lock
9is held during ft_lport_create. This resolved "suspicious RCU usage"
10warnings when debugging options are turned on.
11
12Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
13Tested-by: Ross Brattain <ross.b.brattain@intel.com>
14Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
15Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
16---
17 drivers/target/tcm_fc/tfc_sess.c | 3 ++-
18 1 file changed, 2 insertions(+), 1 deletion(-)
19
20diff --git a/drivers/target/tcm_fc/tfc_sess.c b/drivers/target/tcm_fc/tfc_sess.c
21index 3269213..64ddb63 100644
22--- a/drivers/target/tcm_fc/tfc_sess.c
23+++ b/drivers/target/tcm_fc/tfc_sess.c
24@@ -61,7 +61,8 @@ static struct ft_tport *ft_tport_create(struct fc_lport *lport)
25 struct ft_tport *tport;
26 int i;
27
28- tport = rcu_dereference(lport->prov[FC_TYPE_FCP]);
29+ tport = rcu_dereference_protected(lport->prov[FC_TYPE_FCP],
30+ lockdep_is_held(&ft_lport_lock));
31 if (tport && tport->tpg)
32 return tport;
33
34--
351.7.10
36
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0048-vfs-make-O_PATH-file-descriptors-usable-for-fchdir.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0048-vfs-make-O_PATH-file-descriptors-usable-for-fchdir.patch
new file mode 100644
index 00000000..eb450c15
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0048-vfs-make-O_PATH-file-descriptors-usable-for-fchdir.patch
@@ -0,0 +1,56 @@
1From 7c0f859e15ad91f6d6921970fc9d48f1f7804bf9 Mon Sep 17 00:00:00 2001
2From: Linus Torvalds <torvalds@linux-foundation.org>
3Date: Sat, 7 Jul 2012 10:17:00 -0700
4Subject: [PATCH 48/49] vfs: make O_PATH file descriptors usable for
5 'fchdir()'
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10commit 332a2e1244bd08b9e3ecd378028513396a004a24 upstream.
11
12We already use them for openat() and friends, but fchdir() also wants to
13be able to use O_PATH file descriptors. This should make it comparable
14to the O_SEARCH of Solaris. In particular, O_PATH allows you to access
15(not-quite-open) a directory you don't have read persmission to, only
16execute permission.
17
18Noticed during development of multithread support for ksh93.
19
20Reported-by: ольга крыжановская <olga.kryzhanovska@gmail.com>
21Cc: Al Viro <viro@zeniv.linux.org.uk>
22Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
23Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
24---
25 fs/open.c | 6 +++---
26 1 file changed, 3 insertions(+), 3 deletions(-)
27
28diff --git a/fs/open.c b/fs/open.c
29index 22c41b5..e2b5d51 100644
30--- a/fs/open.c
31+++ b/fs/open.c
32@@ -396,10 +396,10 @@ SYSCALL_DEFINE1(fchdir, unsigned int, fd)
33 {
34 struct file *file;
35 struct inode *inode;
36- int error;
37+ int error, fput_needed;
38
39 error = -EBADF;
40- file = fget(fd);
41+ file = fget_raw_light(fd, &fput_needed);
42 if (!file)
43 goto out;
44
45@@ -413,7 +413,7 @@ SYSCALL_DEFINE1(fchdir, unsigned int, fd)
46 if (!error)
47 set_fs_pwd(current->fs, &file->f_path);
48 out_putf:
49- fput(file);
50+ fput_light(file, fput_needed);
51 out:
52 return error;
53 }
54--
551.7.10
56
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0049-Linux-3.2.23.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0049-Linux-3.2.23.patch
new file mode 100644
index 00000000..6fa83d1c
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0049-Linux-3.2.23.patch
@@ -0,0 +1,24 @@
1From 70aac971ed12a5a23e0b10035df743f2ada81151 Mon Sep 17 00:00:00 2001
2From: Ben Hutchings <ben@decadent.org.uk>
3Date: Thu, 12 Jul 2012 04:32:21 +0100
4Subject: [PATCH 49/49] Linux 3.2.23
5
6---
7 Makefile | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-)
9
10diff --git a/Makefile b/Makefile
11index 9a7d921..40d1e3b 100644
12--- a/Makefile
13+++ b/Makefile
14@@ -1,6 +1,6 @@
15 VERSION = 3
16 PATCHLEVEL = 2
17-SUBLEVEL = 22
18+SUBLEVEL = 23
19 EXTRAVERSION =
20 NAME = Saber-toothed Squirrel
21
22--
231.7.10
24
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0001-f_rndis-HACK-around-undefined-variables.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0001-f_rndis-HACK-around-undefined-variables.patch
index a76d5c11..ce72ebdf 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0001-f_rndis-HACK-around-undefined-variables.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0001-f_rndis-HACK-around-undefined-variables.patch
@@ -1,12 +1,12 @@
1From 0a8e60a2f92c5507739e84cdbe5fb3de3f4ee1b6 Mon Sep 17 00:00:00 2001 1From 87fae6477f8987244e2331dc60001c79e5421e80 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 7 Oct 2011 15:29:28 +0200 3Date: Fri, 7 Oct 2011 15:29:28 +0200
4Subject: [PATCH 01/56] f_rndis: HACK around undefined variables 4Subject: [PATCH 01/79] f_rndis: HACK around undefined variables
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 drivers/usb/gadget/f_rndis.c | 4 ++-- 8 drivers/usb/gadget/f_rndis.c | 4 ++--
9 1 files changed, 2 insertions(+), 2 deletions(-) 9 1 file changed, 2 insertions(+), 2 deletions(-)
10 10
11diff --git a/drivers/usb/gadget/f_rndis.c b/drivers/usb/gadget/f_rndis.c 11diff --git a/drivers/usb/gadget/f_rndis.c b/drivers/usb/gadget/f_rndis.c
12index 6614490..d2f1b6f 100644 12index 6614490..d2f1b6f 100644
@@ -27,5 +27,5 @@ index 6614490..d2f1b6f 100644
27 * the network link ... which is unavailable to this code 27 * the network link ... which is unavailable to this code
28 * until we're activated via set_alt(). 28 * until we're activated via set_alt().
29-- 29--
301.7.7.6 301.7.10
31 31
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0002-da8xx-fb-add-DVI-support-for-beaglebone.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0002-da8xx-fb-add-DVI-support-for-beaglebone.patch
index b227e644..158ed0ce 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0002-da8xx-fb-add-DVI-support-for-beaglebone.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0002-da8xx-fb-add-DVI-support-for-beaglebone.patch
@@ -1,12 +1,12 @@
1From 7db7d9b0c2ca8aea0ae522b7fc30c7ac034edfe2 Mon Sep 17 00:00:00 2001 1From 30dcf1f8efb223e5b6fc3c049bc8ce3236ec17a0 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Thu, 3 Nov 2011 17:35:50 +0100 3Date: Thu, 3 Nov 2011 17:35:50 +0100
4Subject: [PATCH 02/56] da8xx-fb: add DVI support for beaglebone 4Subject: [PATCH 02/79] da8xx-fb: add DVI support for beaglebone
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 drivers/video/da8xx-fb.c | 14 ++++++++++++++ 8 drivers/video/da8xx-fb.c | 14 ++++++++++++++
9 1 files changed, 14 insertions(+), 0 deletions(-) 9 1 file changed, 14 insertions(+)
10 10
11diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c 11diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
12index 2e69278..b01f15b 100644 12index 2e69278..b01f15b 100644
@@ -34,5 +34,5 @@ index 2e69278..b01f15b 100644
34 34
35 /* Enable the Raster Engine of the LCD Controller */ 35 /* Enable the Raster Engine of the LCD Controller */
36-- 36--
371.7.7.6 371.7.10
38 38
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0003-beaglebone-rebase-everything-onto-3.2-WARNING-MEGAPA.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0003-beaglebone-rebase-everything-onto-3.2-WARNING-MEGAPA.patch
index 680fa6af..53f73558 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0003-beaglebone-rebase-everything-onto-3.2-WARNING-MEGAPA.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0003-beaglebone-rebase-everything-onto-3.2-WARNING-MEGAPA.patch
@@ -1,13 +1,13 @@
1From 8ba62500dc8a2a033099ddcf85fd765b09c47f6d Mon Sep 17 00:00:00 2001 1From 482ed8f98b87299bf77298b86871b4af74334751 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 30 Jan 2012 21:30:09 +0100 3Date: Mon, 30 Jan 2012 21:30:09 +0100
4Subject: [PATCH 03/56] beaglebone: rebase everything onto 3.2 - WARNING 4Subject: [PATCH 03/79] beaglebone: rebase everything onto 3.2 - WARNING
5 MEGAPATCH 5 MEGAPATCH
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 426 ++++++++++++++++++++++++++++++++- 9 arch/arm/mach-omap2/board-am335xevm.c | 426 ++++++++++++++++++++++++++++++++-
10 1 files changed, 415 insertions(+), 11 deletions(-) 10 1 file changed, 415 insertions(+), 11 deletions(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 563bdf1..2741431 100644 13index 563bdf1..2741431 100644
@@ -559,5 +559,5 @@ index 563bdf1..2741431 100644
559 /* Beagle Bone has Micro-SD slot which doesn't have Write Protect pin */ 559 /* Beagle Bone has Micro-SD slot which doesn't have Write Protect pin */
560 am335x_mmc[0].gpio_wp = -EINVAL; 560 am335x_mmc[0].gpio_wp = -EINVAL;
561-- 561--
5621.7.7.6 5621.7.10
563 563
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0004-more-beaglebone-merges.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0004-more-beaglebone-merges.patch
index 1672a11b..9e3186df 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0004-more-beaglebone-merges.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0004-more-beaglebone-merges.patch
@@ -1,12 +1,12 @@
1From b5158f58ced19e39423d3f12b01f67435a1029b0 Mon Sep 17 00:00:00 2001 1From e495bd4f47ad3b8f48916582b12ec0bf0a7e7134 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 31 Jan 2012 10:04:03 +0100 3Date: Tue, 31 Jan 2012 10:04:03 +0100
4Subject: [PATCH 04/56] more beaglebone merges 4Subject: [PATCH 04/79] more beaglebone merges
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 52 +++++++++++++++++++++++++++++++- 8 arch/arm/mach-omap2/board-am335xevm.c | 52 +++++++++++++++++++++++++++++++--
9 1 files changed, 50 insertions(+), 2 deletions(-) 9 1 file changed, 50 insertions(+), 2 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 2741431..ffbecae 100644 12index 2741431..ffbecae 100644
@@ -103,5 +103,5 @@ index 2741431..ffbecae 100644
103 } else if (!strncmp("1.0", config.version, 3)) { 103 } else if (!strncmp("1.0", config.version, 3)) {
104 gp_evm_revision = GP_EVM_REV_IS_1_0; 104 gp_evm_revision = GP_EVM_REV_IS_1_0;
105-- 105--
1061.7.7.6 1061.7.10
107 107
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0005-beaglebone-disable-tsadc.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0005-beaglebone-disable-tsadc.patch
index 6d8fdb8a..5cd6f464 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0005-beaglebone-disable-tsadc.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0005-beaglebone-disable-tsadc.patch
@@ -1,12 +1,12 @@
1From 590219f8dedc88345dff5e2fcac3c63501333aba Mon Sep 17 00:00:00 2001 1From fd6ae50df7aee160e23cce68bf5c0fd223f2700a Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 31 Jan 2012 10:09:06 +0100 3Date: Tue, 31 Jan 2012 10:09:06 +0100
4Subject: [PATCH 05/56] beaglebone: disable tsadc 4Subject: [PATCH 05/79] beaglebone: disable tsadc
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 4 ++-- 8 arch/arm/mach-omap2/board-am335xevm.c | 4 ++--
9 1 files changed, 2 insertions(+), 2 deletions(-) 9 1 file changed, 2 insertions(+), 2 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index ffbecae..ba611c0 100644 12index ffbecae..ba611c0 100644
@@ -27,5 +27,5 @@ index ffbecae..ba611c0 100644
27 27
28 static u8 am335x_iis_serializer_direction1[] = { 28 static u8 am335x_iis_serializer_direction1[] = {
29-- 29--
301.7.7.6 301.7.10
31 31
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0006-tscadc-Add-general-purpose-mode-untested-with-touchs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0006-tscadc-Add-general-purpose-mode-untested-with-touchs.patch
index 3dbd5d19..d0f71947 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0006-tscadc-Add-general-purpose-mode-untested-with-touchs.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0006-tscadc-Add-general-purpose-mode-untested-with-touchs.patch
@@ -1,7 +1,7 @@
1From d15ac41429630a7065e409079370efc4cfcb3e65 Mon Sep 17 00:00:00 2001 1From d434e8f8c1fec1f10d2475a014ed26d4e5bc8579 Mon Sep 17 00:00:00 2001
2From: Joel A Fernandes <joelagnel@ti.com> 2From: Joel A Fernandes <joelagnel@ti.com>
3Date: Wed, 30 Nov 2011 15:00:40 +0100 3Date: Wed, 30 Nov 2011 15:00:40 +0100
4Subject: [PATCH 06/56] tscadc: Add general purpose mode, untested with 4Subject: [PATCH 06/79] tscadc: Add general purpose mode, untested with
5 touchscreen functionality 5 touchscreen functionality
6 6
7Signed-off-by: Joel A Fernandes <joelagnel@ti.com> 7Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
@@ -402,5 +402,5 @@ index 2c547bb..850cd4b 100644
402+ int mode; 402+ int mode;
403 }; 403 };
404-- 404--
4051.7.7.6 4051.7.10
406 406
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0007-tscadc-Add-board-file-mfd-support-fix-warning.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0007-tscadc-Add-board-file-mfd-support-fix-warning.patch
index 6852fc63..787d4260 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0007-tscadc-Add-board-file-mfd-support-fix-warning.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0007-tscadc-Add-board-file-mfd-support-fix-warning.patch
@@ -1,7 +1,7 @@
1From 5275f0cc4c9f541711ab49e7e179a153fb61cda5 Mon Sep 17 00:00:00 2001 1From dc7ef10b1e755f188cfc92f4e1d8a43c8e661392 Mon Sep 17 00:00:00 2001
2From: Joel A Fernandes <joelagnel@ti.com> 2From: Joel A Fernandes <joelagnel@ti.com>
3Date: Wed, 30 Nov 2011 15:02:17 +0100 3Date: Wed, 30 Nov 2011 15:02:17 +0100
4Subject: [PATCH 07/56] tscadc: Add board file mfd support, fix warning 4Subject: [PATCH 07/79] tscadc: Add board file mfd support, fix warning
5 5
6Signed-off-by: Joel A Fernandes <joelagnel@ti.com> 6Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
7 7
@@ -40,5 +40,5 @@ index c6dc6f0..b50a08c 100644
40 int clk_value; 40 int clk_value;
41 int clock_rate, irqenable, ctrl; 41 int clock_rate, irqenable, ctrl;
42-- 42--
431.7.7.6 431.7.10
44 44
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0008-AM335X-init-tsc-bone-style-for-new-boards.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0008-AM335X-init-tsc-bone-style-for-new-boards.patch
index fe1db5c1..9434c573 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0008-AM335X-init-tsc-bone-style-for-new-boards.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0008-AM335X-init-tsc-bone-style-for-new-boards.patch
@@ -1,12 +1,12 @@
1From e9aa7ff6f36d532d2268cd3b91555cbeb72fda4f Mon Sep 17 00:00:00 2001 1From b67913c3de1b8789c9d1881391b9bfb0beaa00ee Mon Sep 17 00:00:00 2001
2From: Joel A Fernandes <joelagnel@ti.com> 2From: Joel A Fernandes <joelagnel@ti.com>
3Date: Wed, 30 Nov 2011 15:03:59 +0100 3Date: Wed, 30 Nov 2011 15:03:59 +0100
4Subject: [PATCH 08/56] AM335X: init tsc bone style for new boards 4Subject: [PATCH 08/79] AM335X: init tsc bone style for new boards
5 5
6Signed-off-by: Joel A Fernandes <joelagnel@ti.com> 6Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 2 +- 8 arch/arm/mach-omap2/board-am335xevm.c | 2 +-
9 1 files changed, 1 insertions(+), 1 deletions(-) 9 1 file changed, 1 insertion(+), 1 deletion(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 64a0c0a..6b78ae6 100644 12index 64a0c0a..6b78ae6 100644
@@ -22,5 +22,5 @@ index 64a0c0a..6b78ae6 100644
22 }; 22 };
23 23
24-- 24--
251.7.7.6 251.7.10
26 26
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0009-tscadc-make-stepconfig-channel-configurable.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0009-tscadc-make-stepconfig-channel-configurable.patch
index 8d736374..5f43ac4c 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0009-tscadc-make-stepconfig-channel-configurable.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0009-tscadc-make-stepconfig-channel-configurable.patch
@@ -1,12 +1,12 @@
1From 7042bb10731908812bc3b248b963899898773c4b Mon Sep 17 00:00:00 2001 1From 3b70f6dd0dd6f6c1fbd71b7090a3340382b3c77e Mon Sep 17 00:00:00 2001
2From: Joel A Fernandes <joelagnel@ti.com> 2From: Joel A Fernandes <joelagnel@ti.com>
3Date: Mon, 28 Nov 2011 18:18:04 -0600 3Date: Mon, 28 Nov 2011 18:18:04 -0600
4Subject: [PATCH 09/56] tscadc: make stepconfig channel-configurable 4Subject: [PATCH 09/79] tscadc: make stepconfig channel-configurable
5 5
6Signed-off-by: Joel A Fernandes <joelagnel@ti.com> 6Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
7--- 7---
8 drivers/input/touchscreen/ti_tscadc.c | 8 +++++--- 8 drivers/input/touchscreen/ti_tscadc.c | 8 +++++---
9 1 files changed, 5 insertions(+), 3 deletions(-) 9 1 file changed, 5 insertions(+), 3 deletions(-)
10 10
11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c 11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c
12index b50a08c..6083de7 100644 12index b50a08c..6083de7 100644
@@ -42,5 +42,5 @@ index b50a08c..6083de7 100644
42 irqenable = TSCADC_IRQENB_FIFO0THRES; 42 irqenable = TSCADC_IRQENB_FIFO0THRES;
43 } 43 }
44-- 44--
451.7.7.6 451.7.10
46 46
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0010-tscadc-Trigger-through-sysfs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0010-tscadc-Trigger-through-sysfs.patch
index 27052fc3..6afca799 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0010-tscadc-Trigger-through-sysfs.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0010-tscadc-Trigger-through-sysfs.patch
@@ -1,7 +1,7 @@
1From 23f1ea4e1324704d36381cf1a2b6d4578c5f3fb4 Mon Sep 17 00:00:00 2001 1From 19415df67c6e3802c007832e356933d33435558b Mon Sep 17 00:00:00 2001
2From: Joel A Fernandes <joelagnel@ti.com> 2From: Joel A Fernandes <joelagnel@ti.com>
3Date: Mon, 28 Nov 2011 20:55:25 -0600 3Date: Mon, 28 Nov 2011 20:55:25 -0600
4Subject: [PATCH 10/56] tscadc: Trigger through sysfs 4Subject: [PATCH 10/79] tscadc: Trigger through sysfs
5 5
6Signed-off-by: Joel A Fernandes <joelagnel@ti.com> 6Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
7 7
@@ -145,5 +145,5 @@ index 850cd4b..fc239c6 100644
145 #define TI_TSCADC_TSCMODE 0 145 #define TI_TSCADC_TSCMODE 0
146 #define TI_TSCADC_GENMODE 1 146 #define TI_TSCADC_GENMODE 1
147-- 147--
1481.7.7.6 1481.7.10
149 149
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0011-meta-ti-Remove-debug-messages-for-meta-ti.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0011-meta-ti-Remove-debug-messages-for-meta-ti.patch
index d6d6a8f4..1bd64b40 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0011-meta-ti-Remove-debug-messages-for-meta-ti.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0011-meta-ti-Remove-debug-messages-for-meta-ti.patch
@@ -1,12 +1,12 @@
1From 44e604188006ae23fb48fe27b68b20cc9e3b20cb Mon Sep 17 00:00:00 2001 1From 956815a5ce5d2708ad3f14bdd0c6aaee056febbb Mon Sep 17 00:00:00 2001
2From: Joel A Fernandes <joelagnel@ti.com> 2From: Joel A Fernandes <joelagnel@ti.com>
3Date: Mon, 28 Nov 2011 20:56:48 -0600 3Date: Mon, 28 Nov 2011 20:56:48 -0600
4Subject: [PATCH 11/56] meta-ti: Remove debug messages for meta-ti 4Subject: [PATCH 11/79] meta-ti: Remove debug messages for meta-ti
5 5
6Signed-off-by: Joel A Fernandes <joelagnel@ti.com> 6Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
7--- 7---
8 drivers/input/touchscreen/ti_tscadc.c | 4 ++-- 8 drivers/input/touchscreen/ti_tscadc.c | 4 ++--
9 1 files changed, 2 insertions(+), 2 deletions(-) 9 1 file changed, 2 insertions(+), 2 deletions(-)
10 10
11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c 11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c
12index d6aec8c..da48bcd 100644 12index d6aec8c..da48bcd 100644
@@ -30,5 +30,5 @@ index d6aec8c..da48bcd 100644
30 for (i = 0; i < fifo1count; i++) { 30 for (i = 0; i < fifo1count; i++) {
31 read_sample = tscadc_readl(ts_dev, TSCADC_REG_FIFO0); 31 read_sample = tscadc_readl(ts_dev, TSCADC_REG_FIFO0);
32-- 32--
331.7.7.6 331.7.10
34 34
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0012-tscadc-switch-to-polling-instead-of-interrupts.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0012-tscadc-switch-to-polling-instead-of-interrupts.patch
index 86ef82ef..d9fd2a70 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0012-tscadc-switch-to-polling-instead-of-interrupts.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0012-tscadc-switch-to-polling-instead-of-interrupts.patch
@@ -1,12 +1,12 @@
1From 04b4ae6caf9912acb99b294ab946ca88146ec6a9 Mon Sep 17 00:00:00 2001 1From 393a7b11a2819b5149c909a801b1f8be4d781771 Mon Sep 17 00:00:00 2001
2From: Joel A Fernandes <joelagnel@ti.com> 2From: Joel A Fernandes <joelagnel@ti.com>
3Date: Tue, 29 Nov 2011 09:44:22 -0600 3Date: Tue, 29 Nov 2011 09:44:22 -0600
4Subject: [PATCH 12/56] tscadc: switch to polling instead of interrupts 4Subject: [PATCH 12/79] tscadc: switch to polling instead of interrupts
5 5
6Signed-off-by: Joel A Fernandes <joelagnel@ti.com> 6Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
7--- 7---
8 drivers/input/touchscreen/ti_tscadc.c | 16 ++++++++++++++-- 8 drivers/input/touchscreen/ti_tscadc.c | 16 ++++++++++++++--
9 1 files changed, 14 insertions(+), 2 deletions(-) 9 1 file changed, 14 insertions(+), 2 deletions(-)
10 10
11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c 11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c
12index da48bcd..4fd2e18 100644 12index da48bcd..4fd2e18 100644
@@ -50,5 +50,5 @@ index da48bcd..4fd2e18 100644
50 tscadc_writel(ts_dev, TSCADC_REG_IRQENABLE, irqenable); 50 tscadc_writel(ts_dev, TSCADC_REG_IRQENABLE, irqenable);
51 51
52-- 52--
531.7.7.6 531.7.10
54 54
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0013-beaglebone-fix-ADC-init.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0013-beaglebone-fix-ADC-init.patch
index b15e894e..3db4f7d1 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0013-beaglebone-fix-ADC-init.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0013-beaglebone-fix-ADC-init.patch
@@ -1,12 +1,12 @@
1From 14830f07a752e8c2d643a307ebb5e268008d9c04 Mon Sep 17 00:00:00 2001 1From 33bbdc8dfb22170f7be9286c653fbac9d9c8f196 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 31 Jan 2012 14:50:55 +0100 3Date: Tue, 31 Jan 2012 14:50:55 +0100
4Subject: [PATCH 13/56] beaglebone: fix ADC init 4Subject: [PATCH 13/79] beaglebone: fix ADC init
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 6 ++---- 8 arch/arm/mach-omap2/board-am335xevm.c | 6 ++----
9 1 files changed, 2 insertions(+), 4 deletions(-) 9 1 file changed, 2 insertions(+), 4 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 6b78ae6..ffbecae 100644 12index 6b78ae6..ffbecae 100644
@@ -43,5 +43,5 @@ index 6b78ae6..ffbecae 100644
43 }; 43 };
44 44
45-- 45--
461.7.7.6 461.7.10
47 47
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0014-AM335x-MUX-add-ehrpwm1A.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0014-AM335x-MUX-add-ehrpwm1A.patch
index 3fec0920..489c64e0 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0014-AM335x-MUX-add-ehrpwm1A.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0014-AM335x-MUX-add-ehrpwm1A.patch
@@ -1,12 +1,12 @@
1From ae3da1ea2d7c8b915e8eebec7d5f3524f53bf510 Mon Sep 17 00:00:00 2001 1From 10099d6354fc3c61306788e4070cfbd20722fb80 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 31 Jan 2012 16:49:52 +0100 3Date: Tue, 31 Jan 2012 16:49:52 +0100
4Subject: [PATCH 14/56] AM335x: MUX: add ehrpwm1A 4Subject: [PATCH 14/79] AM335x: MUX: add ehrpwm1A
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/mux33xx.c | 2 +- 8 arch/arm/mach-omap2/mux33xx.c | 2 +-
9 1 files changed, 1 insertions(+), 1 deletions(-) 9 1 file changed, 1 insertion(+), 1 deletion(-)
10 10
11diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c 11diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c
12index 572ed16..0f71646 100644 12index 572ed16..0f71646 100644
@@ -22,5 +22,5 @@ index 572ed16..0f71646 100644
22 "gpmc_a3", "mii2_txd2", "rgmii2_td2", "mmc2_dat2", 22 "gpmc_a3", "mii2_txd2", "rgmii2_td2", "mmc2_dat2",
23 NULL, NULL, NULL, "gpio1_19"), 23 NULL, NULL, NULL, "gpio1_19"),
24-- 24--
251.7.7.6 251.7.10
26 26
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0015-beaglebone-enable-PWM-for-lcd-backlight-backlight-is.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0015-beaglebone-enable-PWM-for-lcd-backlight-backlight-is.patch
index e20d3208..0d645ffb 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0015-beaglebone-enable-PWM-for-lcd-backlight-backlight-is.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0015-beaglebone-enable-PWM-for-lcd-backlight-backlight-is.patch
@@ -1,13 +1,13 @@
1From 8930849074cc11163a2f176927d4e76072d4fb80 Mon Sep 17 00:00:00 2001 1From 33182602bad8a5aec644e69d800f5bc5c6604419 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 31 Jan 2012 17:02:10 +0100 3Date: Tue, 31 Jan 2012 17:02:10 +0100
4Subject: [PATCH 15/56] beaglebone: enable PWM for lcd backlight <- backlight 4Subject: [PATCH 15/79] beaglebone: enable PWM for lcd backlight <- backlight
5 is inverted 5 is inverted
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 51 +++++++++++++++++++++++++++------ 9 arch/arm/mach-omap2/board-am335xevm.c | 51 +++++++++++++++++++++++++++------
10 1 files changed, 42 insertions(+), 9 deletions(-) 10 1 file changed, 42 insertions(+), 9 deletions(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index ffbecae..43a83ca 100644 13index ffbecae..43a83ca 100644
@@ -119,5 +119,5 @@ index ffbecae..43a83ca 100644
119 } 119 }
120 120
121-- 121--
1221.7.7.6 1221.7.10
123 123
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0016-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0016-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch
index 0ef109c1..120f59f6 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0016-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0016-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch
@@ -1,7 +1,7 @@
1From e099fdb60eae41faea813fd1098af28b38f050d1 Mon Sep 17 00:00:00 2001 1From ec0ef23dd64de808f7e9d827ee82ac4734d8a003 Mon Sep 17 00:00:00 2001
2From: Steve Sakoman <steve@sakoman.com> 2From: Steve Sakoman <steve@sakoman.com>
3Date: Mon, 18 Jul 2011 23:13:41 -0500 3Date: Mon, 18 Jul 2011 23:13:41 -0500
4Subject: [PATCH 16/56] omap_hsmmc: Set dto to max value of 14 to avoid SD 4Subject: [PATCH 16/79] omap_hsmmc: Set dto to max value of 14 to avoid SD
5 Card timeouts 5 Card timeouts
6 6
7This fixes MMC errors due to timeouts on certain SD Cards following suggestions 7This fixes MMC errors due to timeouts on certain SD Cards following suggestions
@@ -13,13 +13,13 @@ http://talk.maemo.org/showthread.php?p=1000707#post1000707
13This fix was originally proposed by Sukumar Ghoral of TI. 13This fix was originally proposed by Sukumar Ghoral of TI.
14--- 14---
15 drivers/mmc/host/omap_hsmmc.c | 3 +++ 15 drivers/mmc/host/omap_hsmmc.c | 3 +++
16 1 files changed, 3 insertions(+), 0 deletions(-) 16 1 file changed, 3 insertions(+)
17 17
18diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c 18diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
19index 1f938d9..ace26f7 100644 19index 22da8f2..adbc4d1 100644
20--- a/drivers/mmc/host/omap_hsmmc.c 20--- a/drivers/mmc/host/omap_hsmmc.c
21+++ b/drivers/mmc/host/omap_hsmmc.c 21+++ b/drivers/mmc/host/omap_hsmmc.c
22@@ -1542,6 +1542,9 @@ static void set_data_timeout(struct omap_hsmmc_host *host) 22@@ -1554,6 +1554,9 @@ static void set_data_timeout(struct omap_hsmmc_host *host)
23 /* Use the maximum timeout value allowed in the standard of 14 or 0xE */ 23 /* Use the maximum timeout value allowed in the standard of 14 or 0xE */
24 dto = 14; 24 dto = 14;
25 25
@@ -30,5 +30,5 @@ index 1f938d9..ace26f7 100644
30 reg |= dto << DTO_SHIFT; 30 reg |= dto << DTO_SHIFT;
31 OMAP_HSMMC_WRITE(host->base, SYSCTL, reg); 31 OMAP_HSMMC_WRITE(host->base, SYSCTL, reg);
32-- 32--
331.7.7.6 331.7.10
34 34
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0017-beaglebone-set-default-brightness-to-50-for-pwm-back.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0017-beaglebone-set-default-brightness-to-50-for-pwm-back.patch
index 3ad8b520..ed19d76f 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0017-beaglebone-set-default-brightness-to-50-for-pwm-back.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0017-beaglebone-set-default-brightness-to-50-for-pwm-back.patch
@@ -1,13 +1,13 @@
1From 8de8f4d2da1d92847f27babbf3a91ca960afdbc9 Mon Sep 17 00:00:00 2001 1From 5ef54fcdbb6f2cee36b88ed04ea7c3d604702659 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 1 Feb 2012 14:10:38 +0100 3Date: Wed, 1 Feb 2012 14:10:38 +0100
4Subject: [PATCH 17/56] beaglebone: set default brightness to 50% for pwm 4Subject: [PATCH 17/79] beaglebone: set default brightness to 50% for pwm
5 backlights 5 backlights
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 2 +- 9 arch/arm/mach-omap2/board-am335xevm.c | 2 +-
10 1 files changed, 1 insertions(+), 1 deletions(-) 10 1 file changed, 1 insertion(+), 1 deletion(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 43a83ca..97b069f 100644 13index 43a83ca..97b069f 100644
@@ -23,5 +23,5 @@ index 43a83ca..97b069f 100644
23 23
24 #define PWM_DEVICE_ID "ecap.0" 24 #define PWM_DEVICE_ID "ecap.0"
25-- 25--
261.7.7.6 261.7.10
27 27
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0018-st7735fb-WIP-framebuffer-driver-supporting-Adafruit-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0018-st7735fb-WIP-framebuffer-driver-supporting-Adafruit-.patch
index d6a06f1a..de1854b7 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0018-st7735fb-WIP-framebuffer-driver-supporting-Adafruit-.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0018-st7735fb-WIP-framebuffer-driver-supporting-Adafruit-.patch
@@ -1,7 +1,7 @@
1From 4d3af135dec5fcd7119e62c17d5db6d678ad68d5 Mon Sep 17 00:00:00 2001 1From b54647b2f6825845e678995cf9a9824f763b6eb1 Mon Sep 17 00:00:00 2001
2From: Matt Porter <mporter@ti.com> 2From: Matt Porter <mporter@ti.com>
3Date: Mon, 21 Nov 2011 12:55:23 -0500 3Date: Mon, 21 Nov 2011 12:55:23 -0500
4Subject: [PATCH 18/56] st7735fb: WIP framebuffer driver supporting Adafruit 4Subject: [PATCH 18/79] st7735fb: WIP framebuffer driver supporting Adafruit
5 1.8" SPI LCD 5 1.8" SPI LCD
6 6
7Signed-off-by: Matt Porter <mporter@ti.com> 7Signed-off-by: Matt Porter <mporter@ti.com>
@@ -11,7 +11,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
11 drivers/video/Makefile | 1 + 11 drivers/video/Makefile | 1 +
12 drivers/video/st7735fb.c | 516 ++++++++++++++++++++++++++++++++++++++++++++++ 12 drivers/video/st7735fb.c | 516 ++++++++++++++++++++++++++++++++++++++++++++++
13 include/video/st7735fb.h | 86 ++++++++ 13 include/video/st7735fb.h | 86 ++++++++
14 4 files changed, 614 insertions(+), 0 deletions(-) 14 4 files changed, 614 insertions(+)
15 create mode 100644 drivers/video/st7735fb.c 15 create mode 100644 drivers/video/st7735fb.c
16 create mode 100644 include/video/st7735fb.h 16 create mode 100644 include/video/st7735fb.h
17 17
@@ -664,5 +664,5 @@ index 0000000..250f036
664+ 664+
665+ 665+
666-- 666--
6671.7.7.6 6671.7.10
668 668
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0019-beaglebone-use-P8_6-gpio1_3-as-w1-bus.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0019-beaglebone-use-P8_6-gpio1_3-as-w1-bus.patch
index 96390aa4..6751e969 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0019-beaglebone-use-P8_6-gpio1_3-as-w1-bus.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0019-beaglebone-use-P8_6-gpio1_3-as-w1-bus.patch
@@ -1,12 +1,12 @@
1From 6a862f51ac8eca5e4e00acdc13a73db521eb74fa Mon Sep 17 00:00:00 2001 1From 1fcc4aabf4fa4ffe4ebfbfe4adbce3913389a0a0 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 7 Feb 2012 11:01:13 +0100 3Date: Tue, 7 Feb 2012 11:01:13 +0100
4Subject: [PATCH 19/56] beaglebone: use P8_6 (gpio1_3) as w1 bus 4Subject: [PATCH 19/79] beaglebone: use P8_6 (gpio1_3) as w1 bus
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 31 +++++++++++++++++++++++++++++++ 8 arch/arm/mach-omap2/board-am335xevm.c | 31 +++++++++++++++++++++++++++++++
9 1 files changed, 31 insertions(+), 0 deletions(-) 9 1 file changed, 31 insertions(+)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 97b069f..3ba4bbc 100644 12index 97b069f..3ba4bbc 100644
@@ -79,5 +79,5 @@ index 97b069f..3ba4bbc 100644
79 }; 79 };
80 80
81-- 81--
821.7.7.6 821.7.10
83 83
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch
index 80e2b1e5..1a63942e 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch
@@ -1,13 +1,13 @@
1From fc2a970788a0181b495f79a78b35e6bdd6987aa8 Mon Sep 17 00:00:00 2001 1From c57ec6cbf0fc195c3253b9db23dab08554377cd5 Mon Sep 17 00:00:00 2001
2From: Alessandro Zummo <a.zummo@towertech.it> 2From: Alessandro Zummo <a.zummo@towertech.it>
3Date: Thu, 9 Feb 2012 12:46:52 +0100 3Date: Thu, 9 Feb 2012 12:46:52 +0100
4Subject: [PATCH 20/56] beaglebone: add support for Towertech TT3201 CAN cape 4Subject: [PATCH 20/79] beaglebone: add support for Towertech TT3201 CAN cape
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 54 ++++++++++++++++++++++++++++++++- 8 arch/arm/mach-omap2/board-am335xevm.c | 54 ++++++++++++++++++++++++++++++++-
9 arch/arm/mach-omap2/mux33xx.c | 8 ++-- 9 arch/arm/mach-omap2/mux33xx.c | 8 ++---
10 drivers/net/can/dev.c | 8 ++-- 10 drivers/net/can/dev.c | 8 ++---
11 drivers/net/can/mcp251x.c | 47 ++++++++++++++++++++++------ 11 drivers/net/can/mcp251x.c | 47 ++++++++++++++++++++++------
12 4 files changed, 98 insertions(+), 19 deletions(-) 12 4 files changed, 98 insertions(+), 19 deletions(-)
13 13
@@ -316,5 +316,5 @@ index 330140e..b3e231c 100644
316 } 316 }
317 error_probe: 317 error_probe:
318-- 318--
3191.7.7.6 3191.7.10
320 320
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0021-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0021-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch
index b2427890..607d3c85 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0021-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0021-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch
@@ -1,12 +1,12 @@
1From b7bcc2d2d68f0683ee25027fa33afd43357912cb Mon Sep 17 00:00:00 2001 1From 3d11cccc72d7ec50c8da319e45cafb4f02431211 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 19 Mar 2012 12:01:35 +0100 3Date: Mon, 19 Mar 2012 12:01:35 +0100
4Subject: [PATCH 21/56] beaglebone: add more beagleboardtoys cape partnumbers 4Subject: [PATCH 21/79] beaglebone: add more beagleboardtoys cape partnumbers
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 25 ++++++++++++++++++++++++- 8 arch/arm/mach-omap2/board-am335xevm.c | 25 ++++++++++++++++++++++++-
9 1 files changed, 24 insertions(+), 1 deletions(-) 9 1 file changed, 24 insertions(+), 1 deletion(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index a8dfcdf..f854329 100644 12index a8dfcdf..f854329 100644
@@ -49,5 +49,5 @@ index a8dfcdf..f854329 100644
49 pr_info("BeagleBone cape: exporting ADC pins to sysfs\n"); 49 pr_info("BeagleBone cape: exporting ADC pins to sysfs\n");
50 bone_tsc_init(0,0); 50 bone_tsc_init(0,0);
51-- 51--
521.7.7.6 521.7.10
53 53
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0022-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0022-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch
index e29a568d..4eaefffe 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0022-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0022-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch
@@ -1,13 +1,13 @@
1From 7d829ebc289c6e311171cb3974e428ed2562c0ad Mon Sep 17 00:00:00 2001 1From bc8957c4a563945781b0e3c41f5a8068d88122f9 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 19 Mar 2012 13:32:43 +0100 3Date: Mon, 19 Mar 2012 13:32:43 +0100
4Subject: [PATCH 22/56] beaglebone: add gpio-keys for lcd7, add notes for 4Subject: [PATCH 22/79] beaglebone: add gpio-keys for lcd7, add notes for
5 missing functionality for other capes 5 missing functionality for other capes
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 79 +++++++++++++++++++++++++++++++++ 9 arch/arm/mach-omap2/board-am335xevm.c | 79 +++++++++++++++++++++++++++++++++
10 1 files changed, 79 insertions(+), 0 deletions(-) 10 1 file changed, 79 insertions(+)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index f854329..9e9cf5b 100644 13index f854329..9e9cf5b 100644
@@ -126,5 +126,5 @@ index f854329..9e9cf5b 100644
126 } 126 }
127 127
128-- 128--
1291.7.7.6 1291.7.10
130 130
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-enter-key-for-lcd7-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-enter-key-for-lcd7-cape.patch
index 4b8faef5..25a73d4d 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-enter-key-for-lcd7-cape.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-enter-key-for-lcd7-cape.patch
@@ -1,12 +1,12 @@
1From d7eecab57e0c72ef16663b45d2e1498368cfe9fe Mon Sep 17 00:00:00 2001 1From 1fb7daa57c2079ec42cff0d26336e430fad7946f Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 19 Mar 2012 14:26:37 +0100 3Date: Mon, 19 Mar 2012 14:26:37 +0100
4Subject: [PATCH 23/56] beaglebone: add enter key for lcd7 cape 4Subject: [PATCH 23/79] beaglebone: add enter key for lcd7 cape
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 9 +++++++++ 8 arch/arm/mach-omap2/board-am335xevm.c | 9 +++++++++
9 1 files changed, 9 insertions(+), 0 deletions(-) 9 1 file changed, 9 insertions(+)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 9e9cf5b..8c78eb5 100644 12index 9e9cf5b..8c78eb5 100644
@@ -36,5 +36,5 @@ index 9e9cf5b..8c78eb5 100644
36 36
37 static struct gpio_keys_platform_data beaglebone_lcd7_gpio_key_info = { 37 static struct gpio_keys_platform_data beaglebone_lcd7_gpio_key_info = {
38-- 38--
391.7.7.6 391.7.10
40 40
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd.patch
index 3fb1d9d0..49ef1464 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd.patch
@@ -1,12 +1,12 @@
1From 15f9d6c3d2ea7b9c932b311e7b615735bb940f01 Mon Sep 17 00:00:00 2001 1From 5bc55512fb72b331c09769036da6b754430fd399 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 19 Mar 2012 15:15:06 +0100 3Date: Mon, 19 Mar 2012 15:15:06 +0100
4Subject: [PATCH 24/56] beaglebone: add gpio-keys for lcd 4Subject: [PATCH 24/79] beaglebone: add gpio-keys for lcd
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 82 +++++++++++++++++++++++++++++++-- 8 arch/arm/mach-omap2/board-am335xevm.c | 82 +++++++++++++++++++++++++++++++--
9 1 files changed, 78 insertions(+), 4 deletions(-) 9 1 file changed, 78 insertions(+), 4 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 8c78eb5..5266f78 100644 12index 8c78eb5..5266f78 100644
@@ -109,5 +109,5 @@ index 8c78eb5..5266f78 100644
109 109
110 if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 15)) { 110 if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 15)) {
111-- 111--
1121.7.7.6 1121.7.10
113 113
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-fix-direction-of-gpio-keys.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-fix-direction-of-gpio-keys.patch
index 39f255b7..e0d5c0c3 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-fix-direction-of-gpio-keys.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-fix-direction-of-gpio-keys.patch
@@ -1,12 +1,12 @@
1From 9ae51575e2d99c806ee5caabb4a11a380e5e9b7b Mon Sep 17 00:00:00 2001 1From a9f029372abbaef2e9f55e2be728ae8bbc54bdaa Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 26 Mar 2012 20:28:56 +0200 3Date: Mon, 26 Mar 2012 20:28:56 +0200
4Subject: [PATCH 25/56] beaglebone: fix direction of gpio-keys 4Subject: [PATCH 25/79] beaglebone: fix direction of gpio-keys
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 20 ++++++++++---------- 8 arch/arm/mach-omap2/board-am335xevm.c | 20 ++++++++++----------
9 1 files changed, 10 insertions(+), 10 deletions(-) 9 1 file changed, 10 insertions(+), 10 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 5266f78..36b0c85 100644 12index 5266f78..36b0c85 100644
@@ -103,5 +103,5 @@ index 5266f78..36b0c85 100644
103 .type = EV_KEY, 103 .type = EV_KEY,
104 .wakeup = 1, 104 .wakeup = 1,
105-- 105--
1061.7.7.6 1061.7.10
107 107
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-fix-3.5-lcd-cape-support.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-fix-3.5-lcd-cape-support.patch
index 879920dd..bb2f0025 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-fix-3.5-lcd-cape-support.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-fix-3.5-lcd-cape-support.patch
@@ -1,7 +1,7 @@
1From 1979148439115875ee92c370e369a28ba3b5f37c Mon Sep 17 00:00:00 2001 1From 6f82ce8b4cd239aa7b262e0a0b62d42545b9d21b Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 29 Feb 2012 17:25:22 +0100 3Date: Wed, 29 Feb 2012 17:25:22 +0100
4Subject: [PATCH 26/56] beaglebone: fix 3.5" lcd cape support 4Subject: [PATCH 26/79] beaglebone: fix 3.5" lcd cape support
5 5
6* proper timings 6* proper timings
7* fix gpio conflict 7* fix gpio conflict
@@ -10,7 +10,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
10--- 10---
11 arch/arm/mach-omap2/board-am335xevm.c | 42 ++++++++++++++++++++++++++++++++- 11 arch/arm/mach-omap2/board-am335xevm.c | 42 ++++++++++++++++++++++++++++++++-
12 drivers/video/da8xx-fb.c | 14 +++++++++++ 12 drivers/video/da8xx-fb.c | 14 +++++++++++
13 2 files changed, 55 insertions(+), 1 deletions(-) 13 2 files changed, 55 insertions(+), 1 deletion(-)
14 14
15diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 15diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
16index 36b0c85..127516f 100644 16index 36b0c85..127516f 100644
@@ -105,5 +105,5 @@ index b01f15b..86b19ac 100644
105 105
106 /* Enable the Raster Engine of the LCD Controller */ 106 /* Enable the Raster Engine of the LCD Controller */
107-- 107--
1081.7.7.6 1081.7.10
109 109
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0027-beaglebone-decrease-PWM-frequency-to-old-value-LCD7-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0027-beaglebone-decrease-PWM-frequency-to-old-value-LCD7-.patch
index 414a9584..05439e6d 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0027-beaglebone-decrease-PWM-frequency-to-old-value-LCD7-.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0027-beaglebone-decrease-PWM-frequency-to-old-value-LCD7-.patch
@@ -1,13 +1,13 @@
1From 07553571e947d49d906d5f12fd0cb4eac6a8c4e5 Mon Sep 17 00:00:00 2001 1From b199c282abaee2188141c0885198466e8028f181 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 17 Apr 2012 11:25:00 +0200 3Date: Tue, 17 Apr 2012 11:25:00 +0200
4Subject: [PATCH 27/56] beaglebone: decrease PWM frequency to old value, LCD7 4Subject: [PATCH 27/79] beaglebone: decrease PWM frequency to old value, LCD7
5 doesn't like it 5 doesn't like it
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 2 +- 9 arch/arm/mach-omap2/board-am335xevm.c | 2 +-
10 1 files changed, 1 insertions(+), 1 deletions(-) 10 1 file changed, 1 insertion(+), 1 deletion(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 127516f..4d5238d 100644 13index 127516f..4d5238d 100644
@@ -23,5 +23,5 @@ index 127516f..4d5238d 100644
23 #define PWM_DEVICE_ID "ecap.0" 23 #define PWM_DEVICE_ID "ecap.0"
24 24
25-- 25--
261.7.7.6 261.7.10
27 27
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0028-beaglebone-fix-ehrpwm-backlight.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0028-beaglebone-fix-ehrpwm-backlight.patch
index 42e945f4..066d4995 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0028-beaglebone-fix-ehrpwm-backlight.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0028-beaglebone-fix-ehrpwm-backlight.patch
@@ -1,12 +1,12 @@
1From 1ca68f8e87f5825a54c41f5d1fbf90fc2c09496c Mon Sep 17 00:00:00 2001 1From 4456663edfc37d478da19c13683b9e58833ca997 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 17 Apr 2012 12:35:01 +0200 3Date: Tue, 17 Apr 2012 12:35:01 +0200
4Subject: [PATCH 28/56] beaglebone: fix ehrpwm backlight 4Subject: [PATCH 28/79] beaglebone: fix ehrpwm backlight
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 1 + 8 arch/arm/mach-omap2/board-am335xevm.c | 1 +
9 1 files changed, 1 insertions(+), 0 deletions(-) 9 1 file changed, 1 insertion(+)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 4d5238d..24ed0b6 100644 12index 4d5238d..24ed0b6 100644
@@ -21,5 +21,5 @@ index 4d5238d..24ed0b6 100644
21 21
22 /* Setup pwm-backlight for bbtoys7lcd */ 22 /* Setup pwm-backlight for bbtoys7lcd */
23-- 23--
241.7.7.6 241.7.10
25 25
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0029-beaglebone-also-report-cape-revision.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0029-beaglebone-also-report-cape-revision.patch
index 6dc4a4b9..03676a6a 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0029-beaglebone-also-report-cape-revision.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0029-beaglebone-also-report-cape-revision.patch
@@ -1,12 +1,12 @@
1From 247ab0d5d63145121e94afaee1b221545d37eb20 Mon Sep 17 00:00:00 2001 1From d79d7b027fa6f411a64d65d56d0421cde619f43c Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 17 Apr 2012 12:57:38 +0200 3Date: Tue, 17 Apr 2012 12:57:38 +0200
4Subject: [PATCH 29/56] beaglebone: also report cape revision 4Subject: [PATCH 29/79] beaglebone: also report cape revision
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 4 +++- 8 arch/arm/mach-omap2/board-am335xevm.c | 4 +++-
9 1 files changed, 3 insertions(+), 1 deletions(-) 9 1 file changed, 3 insertions(+), 1 deletion(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 24ed0b6..a4e113c 100644 12index 24ed0b6..a4e113c 100644
@@ -32,5 +32,5 @@ index 24ed0b6..a4e113c 100644
32 pr_info("BeagleBone cape partnumber: %s\n", tmp); 32 pr_info("BeagleBone cape partnumber: %s\n", tmp);
33 33
34-- 34--
351.7.7.6 351.7.10
36 36
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0030-beaglebone-don-t-compare-undefined-characters-it-mak.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0030-beaglebone-don-t-compare-undefined-characters-it-mak.patch
index 7af30730..a4409d17 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0030-beaglebone-don-t-compare-undefined-characters-it-mak.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0030-beaglebone-don-t-compare-undefined-characters-it-mak.patch
@@ -1,13 +1,13 @@
1From e33f195b5e929944ce6934c38a135821f8206a1a Mon Sep 17 00:00:00 2001 1From bb7bebd5eb51467ff920773cc8dd321102b8d528 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Thu, 19 Apr 2012 07:55:55 +0200 3Date: Thu, 19 Apr 2012 07:55:55 +0200
4Subject: [PATCH 30/56] beaglebone: don't compare undefined characters, it 4Subject: [PATCH 30/79] beaglebone: don't compare undefined characters, it
5 makes strncomp fail 5 makes strncomp fail
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 2 +- 9 arch/arm/mach-omap2/board-am335xevm.c | 2 +-
10 1 files changed, 1 insertions(+), 1 deletions(-) 10 1 file changed, 1 insertion(+), 1 deletion(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index a4e113c..f2f03b6 100644 13index a4e113c..f2f03b6 100644
@@ -23,5 +23,5 @@ index a4e113c..f2f03b6 100644
23 dvi_init(0,0); 23 dvi_init(0,0);
24 } 24 }
25-- 25--
261.7.7.6 261.7.10
27 27
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0031-beaglebone-fix-3.5-cape-support.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0031-beaglebone-fix-3.5-cape-support.patch
index f7e47de8..4a91e710 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0031-beaglebone-fix-3.5-cape-support.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0031-beaglebone-fix-3.5-cape-support.patch
@@ -1,12 +1,12 @@
1From 138b017b71191f87a5f00f94995f144e432b8d9f Mon Sep 17 00:00:00 2001 1From 46f31bc6d2e3c44f0591216db3151408a0d97133 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Thu, 19 Apr 2012 14:33:53 +0200 3Date: Thu, 19 Apr 2012 14:33:53 +0200
4Subject: [PATCH 31/56] beaglebone: fix 3.5" cape support 4Subject: [PATCH 31/79] beaglebone: fix 3.5" cape support
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 42 ++++++++++++++++++++++++++++++++- 8 arch/arm/mach-omap2/board-am335xevm.c | 42 ++++++++++++++++++++++++++++++++-
9 1 files changed, 41 insertions(+), 1 deletions(-) 9 1 file changed, 41 insertions(+), 1 deletion(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index f2f03b6..3adc4ac 100644 12index f2f03b6..3adc4ac 100644
@@ -69,5 +69,5 @@ index f2f03b6..3adc4ac 100644
69 // we are being stupid and setting pixclock from here instead of da8xx-fb.c 69 // we are being stupid and setting pixclock from here instead of da8xx-fb.c
70 if (conf_disp_pll(16000000)) { 70 if (conf_disp_pll(16000000)) {
71-- 71--
721.7.7.6 721.7.10
73 73
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch
index 7f922d87..6fe7c899 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch
@@ -1,12 +1,12 @@
1From dbae54fe993315205d8415ef78e83f149c829a9b Mon Sep 17 00:00:00 2001 1From d8f8e88b0ea9cf4e94a601d5ee2601ee8f1b6d52 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 25 Apr 2012 12:35:07 +0200 3Date: Wed, 25 Apr 2012 12:35:07 +0200
4Subject: [PATCH 32/56] beaglebone: connect batterycape GPIO to gpio-charger 4Subject: [PATCH 32/79] beaglebone: connect batterycape GPIO to gpio-charger
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 46 ++++++++++++++++++++++++++++++++- 8 arch/arm/mach-omap2/board-am335xevm.c | 46 ++++++++++++++++++++++++++++++++-
9 1 files changed, 45 insertions(+), 1 deletions(-) 9 1 file changed, 45 insertions(+), 1 deletion(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 3adc4ac..717bb8c 100644 12index 3adc4ac..717bb8c 100644
@@ -80,5 +80,5 @@ index 3adc4ac..717bb8c 100644
80 80
81 if (!strncmp("BB-BONE-SERL", cape_config.partnumber, 12)) { 81 if (!strncmp("BB-BONE-SERL", cape_config.partnumber, 12)) {
82-- 82--
831.7.7.6 831.7.10
84 84
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch
index 6d8b646c..a4eaf506 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch
@@ -1,12 +1,12 @@
1From 2345361d8188eb3a946f2a0ab9e648eba2cc9c27 Mon Sep 17 00:00:00 2001 1From f9b6989bb732e354c174da80052abbba49f238dd Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 4 May 2012 13:19:45 +0200 3Date: Fri, 4 May 2012 13:19:45 +0200
4Subject: [PATCH 33/56] beaglebone: add support for CAN and RS232 cape 4Subject: [PATCH 33/79] beaglebone: add support for CAN and RS232 cape
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 36 +++++++++++++++++++++++++++----- 8 arch/arm/mach-omap2/board-am335xevm.c | 36 +++++++++++++++++++++++++++------
9 1 files changed, 30 insertions(+), 6 deletions(-) 9 1 file changed, 30 insertions(+), 6 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 717bb8c..6e7b203 100644 12index 717bb8c..6e7b203 100644
@@ -63,5 +63,5 @@ index 717bb8c..6e7b203 100644
63 } 63 }
64 64
65-- 65--
661.7.7.6 661.7.10
67 67
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch
index 14e7cd66..6eceb51d 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch
@@ -1,12 +1,12 @@
1From 64918c14ce7c12660cdf3b7650d6992a4eb7a69e Mon Sep 17 00:00:00 2001 1From 79504e3e113ac68335eb899322a56f3a72462b08 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Thu, 19 Apr 2012 14:23:06 +0200 3Date: Thu, 19 Apr 2012 14:23:06 +0200
4Subject: [PATCH 34/56] beaglebone: add support for DVI rev. A2 capes 4Subject: [PATCH 34/79] beaglebone: add support for DVI rev. A2 capes
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 150 ++++++++------------------------- 8 arch/arm/mach-omap2/board-am335xevm.c | 150 ++++++++-------------------------
9 1 files changed, 35 insertions(+), 115 deletions(-) 9 1 file changed, 35 insertions(+), 115 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 6e7b203..e02c0b6 100644 12index 6e7b203..e02c0b6 100644
@@ -238,5 +238,5 @@ index 6e7b203..e02c0b6 100644
238 if (!strncmp("BB-BONE-LCD7-01", cape_config.partnumber, 15)) { 238 if (!strncmp("BB-BONE-LCD7-01", cape_config.partnumber, 15)) {
239 pr_info("BeagleBone cape: initializing LCD cape\n"); 239 pr_info("BeagleBone cape: initializing LCD cape\n");
240-- 240--
2411.7.7.6 2411.7.10
242 242
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch
index 3d05376a..622d76b2 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch
@@ -1,12 +1,12 @@
1From 11a78ddde39b0ae90c718b724426e01b6af3f8e1 Mon Sep 17 00:00:00 2001 1From d54dc11ed06da5b83c2c99b404483eefd13d2074 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 11 May 2012 13:08:24 +0200 3Date: Fri, 11 May 2012 13:08:24 +0200
4Subject: [PATCH 35/56] beaglebone: enable LEDs for DVI, LCD3 and LCD7 capes 4Subject: [PATCH 35/79] beaglebone: enable LEDs for DVI, LCD3 and LCD7 capes
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 140 ++++++++++++++++++++++++++++++-- 8 arch/arm/mach-omap2/board-am335xevm.c | 140 ++++++++++++++++++++++++++++++---
9 1 files changed, 131 insertions(+), 9 deletions(-) 9 1 file changed, 131 insertions(+), 9 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index e02c0b6..8db33b9 100644 12index e02c0b6..8db33b9 100644
@@ -236,5 +236,5 @@ index e02c0b6..8db33b9 100644
236 {NULL, 0, 0}, 236 {NULL, 0, 0},
237 }; 237 };
238-- 238--
2391.7.7.6 2391.7.10
240 240
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch
index c5766823..e4bc851a 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch
@@ -1,12 +1,12 @@
1From b038926e4aa0feeeb20bbcf5bb24765ae40162f5 Mon Sep 17 00:00:00 2001 1From 402cc5ad4f97373171cd7e1cfe17ad5165a8c42c Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Sun, 13 May 2012 18:06:24 +0200 3Date: Sun, 13 May 2012 18:06:24 +0200
4Subject: [PATCH 36/56] Beaglebone: Fixed compiletime warnings. 4Subject: [PATCH 36/79] Beaglebone: Fixed compiletime warnings.
5 5
6Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> 6Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 4 ++-- 8 arch/arm/mach-omap2/board-am335xevm.c | 4 ++--
9 1 files changed, 2 insertions(+), 2 deletions(-) 9 1 file changed, 2 insertions(+), 2 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 8db33b9..b48e0fd 100644 12index 8db33b9..b48e0fd 100644
@@ -44,5 +44,5 @@ index 8db33b9..b48e0fd 100644
44 ret = mem_acc->read(mem_acc, (char *)&cape_config, 0, sizeof(cape_config)); 44 ret = mem_acc->read(mem_acc, (char *)&cape_config, 0, sizeof(cape_config));
45 if (ret != sizeof(cape_config)) { 45 if (ret != sizeof(cape_config)) {
46-- 46--
471.7.7.6 471.7.10
48 48
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch
index e40cd632..a0422168 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch
@@ -1,13 +1,13 @@
1From 387e0633f95924f2e70dd48651720c6718e0ff2f Mon Sep 17 00:00:00 2001 1From ae194fe34a83ae3198010fe20b60308e03e46c61 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Sun, 13 May 2012 18:18:52 +0200 3Date: Sun, 13 May 2012 18:18:52 +0200
4Subject: [PATCH 37/56] Beaglebone: Added missing termination record to 4Subject: [PATCH 37/79] Beaglebone: Added missing termination record to
5 bone_pin_mux data. 5 bone_pin_mux data.
6 6
7Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> 7Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 1 + 9 arch/arm/mach-omap2/board-am335xevm.c | 1 +
10 1 files changed, 1 insertions(+), 0 deletions(-) 10 1 file changed, 1 insertion(+)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index b48e0fd..7dbeac6 100644 13index b48e0fd..7dbeac6 100644
@@ -22,5 +22,5 @@ index b48e0fd..7dbeac6 100644
22 22
23 /* Module pin mux for eCAP0 */ 23 /* Module pin mux for eCAP0 */
24-- 24--
251.7.7.6 251.7.10
26 26
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch
index cf0730e8..3615878f 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch
@@ -1,12 +1,12 @@
1From adcb99ec934a692e4bdeb993901f5df89188a32c Mon Sep 17 00:00:00 2001 1From 3bfb8f832b4fb3685755ba893a464865ba1cb824 Mon Sep 17 00:00:00 2001
2From: Rob Kellett <r-kellett@ti.com> 2From: Rob Kellett <r-kellett@ti.com>
3Date: Mon, 14 May 2012 09:35:35 +0100 3Date: Mon, 14 May 2012 09:35:35 +0100
4Subject: [PATCH 38/56] board-am335xevm.c: Beaglebone - expose all pwms 4Subject: [PATCH 38/79] board-am335xevm.c: Beaglebone - expose all pwms
5 through sysfs 5 through sysfs
6 6
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 20 +++++++++++++++++++- 8 arch/arm/mach-omap2/board-am335xevm.c | 20 +++++++++++++++++++-
9 1 files changed, 19 insertions(+), 1 deletions(-) 9 1 file changed, 19 insertions(+), 1 deletion(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 7dbeac6..c9ee0a2 100644 12index 7dbeac6..c9ee0a2 100644
@@ -54,5 +54,5 @@ index 7dbeac6..c9ee0a2 100644
54 54
55 55
56-- 56--
571.7.7.6 571.7.10
58 58
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch
index d4240cf0..4ba9cf8e 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch
@@ -1,14 +1,14 @@
1From d38171c24019061250e120d554ad89199c58ad53 Mon Sep 17 00:00:00 2001 1From e8f558360cca470b15e95e0620aa0eb6e4cc7980 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Sun, 13 May 2012 18:09:57 +0200 3Date: Sun, 13 May 2012 18:09:57 +0200
4Subject: [PATCH 39/56] ARM: OMAP: Mux: Fixed debugfs mux output (always 4Subject: [PATCH 39/79] ARM: OMAP: Mux: Fixed debugfs mux output (always
5 reporting pins as output) 5 reporting pins as output)
6 6
7Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> 7Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
8Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 8Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
9--- 9---
10 arch/arm/mach-omap2/mux.c | 62 +++++++++++++++++++++++++++----------------- 10 arch/arm/mach-omap2/mux.c | 62 +++++++++++++++++++++++++++------------------
11 1 files changed, 38 insertions(+), 24 deletions(-) 11 1 file changed, 38 insertions(+), 24 deletions(-)
12 12
13diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c 13diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
14index e1cc75d..5899266 100644 14index e1cc75d..5899266 100644
@@ -95,5 +95,5 @@ index e1cc75d..5899266 100644
95 95
96 do { 96 do {
97-- 97--
981.7.7.6 981.7.10
99 99
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch
index 3fe08e40..f44ac534 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch
@@ -1,13 +1,13 @@
1From b42299b9cd05cb162cd2364fa41e7307515b8a55 Mon Sep 17 00:00:00 2001 1From 0bbf782ac6c97d57990886959838a6f7ed296b3a Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 14 May 2012 14:23:45 +0200 3Date: Mon, 14 May 2012 14:23:45 +0200
4Subject: [PATCH 40/56] beaglebone: export SPI2 as spidev when no capes are 4Subject: [PATCH 40/79] beaglebone: export SPI2 as spidev when no capes are
5 using SPI 5 using SPI
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 25 +++++++++++++++++++++---- 9 arch/arm/mach-omap2/board-am335xevm.c | 25 +++++++++++++++++++++----
10 1 files changed, 21 insertions(+), 4 deletions(-) 10 1 file changed, 21 insertions(+), 4 deletions(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index c9ee0a2..a0fa53a 100644 13index c9ee0a2..a0fa53a 100644
@@ -79,5 +79,5 @@ index c9ee0a2..a0fa53a 100644
79 { 79 {
80 phydev->supported &= ~(SUPPORTED_100baseT_Half | 80 phydev->supported &= ~(SUPPORTED_100baseT_Half |
81-- 81--
821.7.7.6 821.7.10
83 83
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0041-st7735fb-Working-WIP-changes-to-make-DMA-safe-and-ad.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0041-st7735fb-Working-WIP-changes-to-make-DMA-safe-and-ad.patch
index da872b11..ffbcb6f2 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0041-st7735fb-Working-WIP-changes-to-make-DMA-safe-and-ad.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0041-st7735fb-Working-WIP-changes-to-make-DMA-safe-and-ad.patch
@@ -1,7 +1,7 @@
1From eef1e8089f452606aa32ee57b6a39783bd26e51f Mon Sep 17 00:00:00 2001 1From 7f97d002d17f8de8cde7f248bb1c194172360efe Mon Sep 17 00:00:00 2001
2From: Matt Porter <mporter@ti.com> 2From: Matt Porter <mporter@ti.com>
3Date: Wed, 28 Mar 2012 23:35:44 -0400 3Date: Wed, 28 Mar 2012 23:35:44 -0400
4Subject: [PATCH 41/56] st7735fb: Working WIP changes to make DMA safe and add 4Subject: [PATCH 41/79] st7735fb: Working WIP changes to make DMA safe and add
5 endian fix 5 endian fix
6 6
7This removes the "from the stack" allocation of 1 byte buffers 7This removes the "from the stack" allocation of 1 byte buffers
@@ -18,7 +18,7 @@ with the driver.
18Signed-off-by: Matt Porter <mporter@ti.com> 18Signed-off-by: Matt Porter <mporter@ti.com>
19--- 19---
20 drivers/video/st7735fb.c | 49 ++++++++++++++++++++++++++++++---------------- 20 drivers/video/st7735fb.c | 49 ++++++++++++++++++++++++++++++----------------
21 include/video/st7735fb.h | 2 + 21 include/video/st7735fb.h | 2 ++
22 2 files changed, 34 insertions(+), 17 deletions(-) 22 2 files changed, 34 insertions(+), 17 deletions(-)
23 23
24diff --git a/drivers/video/st7735fb.c b/drivers/video/st7735fb.c 24diff --git a/drivers/video/st7735fb.c b/drivers/video/st7735fb.c
@@ -139,5 +139,5 @@ index 250f036..e99cd05 100644
139 139
140 struct st7735fb_platform_data { 140 struct st7735fb_platform_data {
141-- 141--
1421.7.7.6 1421.7.10
143 143
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0042-omap-hwmod-silence-st_shift-error.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0042-omap-hwmod-silence-st_shift-error.patch
index d29624c6..0f2477d4 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0042-omap-hwmod-silence-st_shift-error.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0042-omap-hwmod-silence-st_shift-error.patch
@@ -1,7 +1,7 @@
1From 60182b1efd893c0e8c4c6176d2ce0e766d702abb Mon Sep 17 00:00:00 2001 1From e2542efb1a4a61334eace382a2a4c6d5874cc078 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 16 May 2012 17:57:31 +0200 3Date: Wed, 16 May 2012 17:57:31 +0200
4Subject: [PATCH 42/56] omap hwmod: silence st_shift error 4Subject: [PATCH 42/79] omap hwmod: silence st_shift error
5 5
6During boot the following error is shown: 6During boot the following error is shown:
7 7
@@ -12,7 +12,7 @@ Since this PSP tree will never run on omap4 remove the print so people will stop
12Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 12Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
13--- 13---
14 arch/arm/mach-omap2/omap_hwmod.c | 3 --- 14 arch/arm/mach-omap2/omap_hwmod.c | 3 ---
15 1 files changed, 0 insertions(+), 3 deletions(-) 15 1 file changed, 3 deletions(-)
16 16
17diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c 17diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
18index bc14f9f..a050699 100644 18index bc14f9f..a050699 100644
@@ -29,5 +29,5 @@ index bc14f9f..a050699 100644
29 oh->clkdm->pwrdm.ptr->prcm_partition, 29 oh->clkdm->pwrdm.ptr->prcm_partition,
30 oh->clkdm->pwrdm.ptr->prcm_offs, 30 oh->clkdm->pwrdm.ptr->prcm_offs,
31-- 31--
321.7.7.6 321.7.10
33 33
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0043-cpsw-phy_device-demote-PHY-message-to-INFO.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0043-cpsw-phy_device-demote-PHY-message-to-INFO.patch
index 09160baa..b9fb74dd 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0043-cpsw-phy_device-demote-PHY-message-to-INFO.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0043-cpsw-phy_device-demote-PHY-message-to-INFO.patch
@@ -1,7 +1,7 @@
1From e846fa8a57d5f050fdb382e8d5599d9b0341a111 Mon Sep 17 00:00:00 2001 1From f37fa162020846da5950eba704e58e41889b9d3a Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Thu, 17 May 2012 10:59:18 +0200 3Date: Thu, 17 May 2012 10:59:18 +0200
4Subject: [PATCH 43/56] cpsw,phy_device: demote PHY message to INFO 4Subject: [PATCH 43/79] cpsw,phy_device: demote PHY message to INFO
5 5
6This keeps them from appearing on the screen when booting with 'quiet' 6This keeps them from appearing on the screen when booting with 'quiet'
7 7
@@ -47,5 +47,5 @@ index 83a5a5a..8b84789 100644
47 } 47 }
48 phydev = to_phy_device(d); 48 phydev = to_phy_device(d);
49-- 49--
501.7.7.6 501.7.10
51 51
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0044-beaglebone-add-support-for-7-LCD-cape-revision-A2.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0044-beaglebone-add-support-for-7-LCD-cape-revision-A2.patch
index c3697bc7..749df75b 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0044-beaglebone-add-support-for-7-LCD-cape-revision-A2.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0044-beaglebone-add-support-for-7-LCD-cape-revision-A2.patch
@@ -1,12 +1,12 @@
1From 994f87a816d1bd28483e34df8dfa68950eb70c72 Mon Sep 17 00:00:00 2001 1From ff466659529efbbc2d01f1461fe461dc0fdea135 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 18 May 2012 12:17:12 +0200 3Date: Fri, 18 May 2012 12:17:12 +0200
4Subject: [PATCH 44/56] beaglebone: add support for 7" LCD cape revision A2 4Subject: [PATCH 44/79] beaglebone: add support for 7" LCD cape revision A2
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 24 +++++++++++++++++++++--- 8 arch/arm/mach-omap2/board-am335xevm.c | 24 +++++++++++++++++++++---
9 1 files changed, 21 insertions(+), 3 deletions(-) 9 1 file changed, 21 insertions(+), 3 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index a0fa53a..5bb71b1 100644 12index a0fa53a..5bb71b1 100644
@@ -62,5 +62,5 @@ index a0fa53a..5bb71b1 100644
62 pr_info("BeagleBone cape: initializing LCD cape touchscreen\n"); 62 pr_info("BeagleBone cape: initializing LCD cape touchscreen\n");
63 tsc_init(0,0); 63 tsc_init(0,0);
64-- 64--
651.7.7.6 651.7.10
66 66
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch
index 7d121725..165a68a9 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch
@@ -1,12 +1,12 @@
1From bddb03181fef4172d529717ff1c613a1770d737c Mon Sep 17 00:00:00 2001 1From 1b32708444a02b6e42cdd76272a2f09768a3474a Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 18 May 2012 12:39:25 +0200 3Date: Fri, 18 May 2012 12:39:25 +0200
4Subject: [PATCH 45/56] beaglebone: allow capes to disable w1-gpio 4Subject: [PATCH 45/79] beaglebone: allow capes to disable w1-gpio
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 7 +++++-- 8 arch/arm/mach-omap2/board-am335xevm.c | 7 +++++--
9 1 files changed, 5 insertions(+), 2 deletions(-) 9 1 file changed, 5 insertions(+), 2 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 5bb71b1..5c89494 100644 12index 5bb71b1..5c89494 100644
@@ -48,5 +48,5 @@ index 5bb71b1..5c89494 100644
48 }; 48 };
49 49
50-- 50--
511.7.7.6 511.7.10
52 52
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0046-beaglebone-add-stub-for-the-camera-cape-to-disable-w.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0046-beaglebone-add-stub-for-the-camera-cape-to-disable-w.patch
index 5726f2f0..91d86a39 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0046-beaglebone-add-stub-for-the-camera-cape-to-disable-w.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0046-beaglebone-add-stub-for-the-camera-cape-to-disable-w.patch
@@ -1,13 +1,13 @@
1From d338dc3eff341be3e3c038e300e1636c1b667b0c Mon Sep 17 00:00:00 2001 1From b1a945344e6abd9bb9f33e9a8dadb8ac22ed2422 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 18 May 2012 12:58:16 +0200 3Date: Fri, 18 May 2012 12:58:16 +0200
4Subject: [PATCH 46/56] beaglebone: add stub for the camera cape to disable 4Subject: [PATCH 46/79] beaglebone: add stub for the camera cape to disable
5 w1-gpio 5 w1-gpio
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 5 +++++ 9 arch/arm/mach-omap2/board-am335xevm.c | 5 +++++
10 1 files changed, 5 insertions(+), 0 deletions(-) 10 1 file changed, 5 insertions(+)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 5c89494..ece4e46 100644 13index 5c89494..ece4e46 100644
@@ -26,5 +26,5 @@ index 5c89494..ece4e46 100644
26 if ((capecount > 3) && (beaglebone_tsadcpins_free == 1)) { 26 if ((capecount > 3) && (beaglebone_tsadcpins_free == 1)) {
27 pr_info("BeagleBone cape: exporting ADC pins to sysfs\n"); 27 pr_info("BeagleBone cape: exporting ADC pins to sysfs\n");
28-- 28--
291.7.7.6 291.7.10
30 30
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0047-Adding-many-of-the-missing-signals-to-the-mux-table.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0047-Adding-many-of-the-missing-signals-to-the-mux-table.patch
index f20aa6c9..6a13c134 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0047-Adding-many-of-the-missing-signals-to-the-mux-table.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0047-Adding-many-of-the-missing-signals-to-the-mux-table.patch
@@ -1,12 +1,12 @@
1From 6d5deaa1b63e1b6fc5c72c98cf44bcc5bd919974 Mon Sep 17 00:00:00 2001 1From 023eed8b578f4b3ccc992ade8344277f9f9e08d6 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Sun, 13 May 2012 18:16:34 +0200 3Date: Sun, 13 May 2012 18:16:34 +0200
4Subject: [PATCH 47/56] Adding many of the missing signals to the mux table. 4Subject: [PATCH 47/79] Adding many of the missing signals to the mux table.
5 5
6Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> 6Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
7--- 7---
8 arch/arm/mach-omap2/mux33xx.c | 197 +++++++++++++++++++++-------------------- 8 arch/arm/mach-omap2/mux33xx.c | 197 +++++++++++++++++++++--------------------
9 1 files changed, 101 insertions(+), 96 deletions(-) 9 1 file changed, 101 insertions(+), 96 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c 11diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c
12index 25dcedb..26ecd66 100644 12index 25dcedb..26ecd66 100644
@@ -306,5 +306,5 @@ index 25dcedb..26ecd66 100644
306 NULL, NULL, NULL, NULL), 306 NULL, NULL, NULL, NULL),
307 { .reg_offset = OMAP_MUX_TERMINATOR }, 307 { .reg_offset = OMAP_MUX_TERMINATOR },
308-- 308--
3091.7.7.6 3091.7.10
310 310
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0048-Fixed-reversed-part-of-LCD-bus.-Added-even-more-miss.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0048-Fixed-reversed-part-of-LCD-bus.-Added-even-more-miss.patch
index a82c17f0..50f1dd3f 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0048-Fixed-reversed-part-of-LCD-bus.-Added-even-more-miss.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0048-Fixed-reversed-part-of-LCD-bus.-Added-even-more-miss.patch
@@ -1,12 +1,12 @@
1From 122136b42459ab34853157fb5de1691e890f8f88 Mon Sep 17 00:00:00 2001 1From 3813937b8337eb49978dfe8e4b938f937b11db37 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Mon, 14 May 2012 18:26:12 +0200 3Date: Mon, 14 May 2012 18:26:12 +0200
4Subject: [PATCH 48/56] Fixed reversed part of LCD bus. Added even more 4Subject: [PATCH 48/79] Fixed reversed part of LCD bus. Added even more
5 missing entries (TBC). 5 missing entries (TBC).
6 6
7--- 7---
8 arch/arm/mach-omap2/mux33xx.c | 56 ++++++++++++++++++++-------------------- 8 arch/arm/mach-omap2/mux33xx.c | 56 ++++++++++++++++++++---------------------
9 1 files changed, 28 insertions(+), 28 deletions(-) 9 1 file changed, 28 insertions(+), 28 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c 11diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c
12index 26ecd66..72ac899 100644 12index 26ecd66..72ac899 100644
@@ -109,5 +109,5 @@ index 26ecd66..72ac899 100644
109 "lcd_data2", "gpmc_a2", "pr1_mii0_txd3", "ehrpwm2_tripzone_input", 109 "lcd_data2", "gpmc_a2", "pr1_mii0_txd3", "ehrpwm2_tripzone_input",
110 NULL, "pr1_pru1_pru_r30_2", "pr1_pru1_pru_r31_2", "gpio2_8"), 110 NULL, "pr1_pru1_pru_r30_2", "pr1_pru1_pru_r31_2", "gpio2_8"),
111-- 111--
1121.7.7.6 1121.7.10
113 113
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0049-ts_tscadc-add-defines-for-4x-and-16x-oversampling.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0049-ts_tscadc-add-defines-for-4x-and-16x-oversampling.patch
index 96aae363..ad1ad73b 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0049-ts_tscadc-add-defines-for-4x-and-16x-oversampling.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0049-ts_tscadc-add-defines-for-4x-and-16x-oversampling.patch
@@ -1,12 +1,12 @@
1From b0977ddac55066159dc227585cf6c682fbb8f1a4 Mon Sep 17 00:00:00 2001 1From e55b5da533e82e6f61c7ccd947623bce7a45ebf9 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Sat, 19 May 2012 11:29:14 +0200 3Date: Sat, 19 May 2012 11:29:14 +0200
4Subject: [PATCH 49/56] ts_tscadc: add defines for 4x and 16x oversampling 4Subject: [PATCH 49/79] ts_tscadc: add defines for 4x and 16x oversampling
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 drivers/input/touchscreen/ti_tscadc.c | 2 ++ 8 drivers/input/touchscreen/ti_tscadc.c | 2 ++
9 1 files changed, 2 insertions(+), 0 deletions(-) 9 1 file changed, 2 insertions(+)
10 10
11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c 11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c
12index 4fd2e18..acb62d1 100644 12index 4fd2e18..acb62d1 100644
@@ -22,5 +22,5 @@ index 4fd2e18..acb62d1 100644
22 #define TSCADC_STEPCONFIG_XPP BIT(5) 22 #define TSCADC_STEPCONFIG_XPP BIT(5)
23 #define TSCADC_STEPCONFIG_XNN BIT(6) 23 #define TSCADC_STEPCONFIG_XNN BIT(6)
24-- 24--
251.7.7.6 251.7.10
26 26
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0050-ts_tscadc-switch-to-4x-oversampling.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0050-ts_tscadc-switch-to-4x-oversampling.patch
index 8c562fd9..60c527a7 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0050-ts_tscadc-switch-to-4x-oversampling.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0050-ts_tscadc-switch-to-4x-oversampling.patch
@@ -1,12 +1,12 @@
1From fb76db075eb565d152d99b734e3fe9d84b4fe495 Mon Sep 17 00:00:00 2001 1From 4ec4eca3d419986b16b226d1ebdd2c103077ae07 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Sat, 19 May 2012 11:37:21 +0200 3Date: Sat, 19 May 2012 11:37:21 +0200
4Subject: [PATCH 50/56] ts_tscadc: switch to 4x oversampling 4Subject: [PATCH 50/79] ts_tscadc: switch to 4x oversampling
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 drivers/input/touchscreen/ti_tscadc.c | 10 +++++----- 8 drivers/input/touchscreen/ti_tscadc.c | 10 +++++-----
9 1 files changed, 5 insertions(+), 5 deletions(-) 9 1 file changed, 5 insertions(+), 5 deletions(-)
10 10
11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c 11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c
12index acb62d1..7df7bb2 100644 12index acb62d1..7df7bb2 100644
@@ -54,5 +54,5 @@ index acb62d1..7df7bb2 100644
54 TSCADC_STEPCONFIG_YPN | TSCADC_STEPCONFIG_INM; 54 TSCADC_STEPCONFIG_YPN | TSCADC_STEPCONFIG_INM;
55 stepconfigz2 = stepconfigz1 | TSCADC_STEPCONFIG_Z1 | 55 stepconfigz2 = stepconfigz1 | TSCADC_STEPCONFIG_Z1 |
56-- 56--
571.7.7.6 571.7.10
58 58
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0051-Fixed-size-of-pinmux-data-array-in-EEPROM-data-struc.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0051-Fixed-size-of-pinmux-data-array-in-EEPROM-data-struc.patch
index aba0afa8..711c663c 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0051-Fixed-size-of-pinmux-data-array-in-EEPROM-data-struc.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0051-Fixed-size-of-pinmux-data-array-in-EEPROM-data-struc.patch
@@ -1,13 +1,13 @@
1From 32fc1a1006035b1c05e45e962b89efe7f9c43182 Mon Sep 17 00:00:00 2001 1From a765d50c30374795b0d421a25a65516d6a66e990 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Sun, 13 May 2012 18:07:59 +0200 3Date: Sun, 13 May 2012 18:07:59 +0200
4Subject: [PATCH 51/56] Fixed size of pinmux data array in EEPROM data struct. 4Subject: [PATCH 51/79] Fixed size of pinmux data array in EEPROM data struct.
5 5
6Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> 6Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 2 +- 9 arch/arm/mach-omap2/board-am335xevm.c | 2 +-
10 1 files changed, 1 insertions(+), 1 deletions(-) 10 1 file changed, 1 insertion(+), 1 deletion(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index ece4e46..c6ec997 100644 13index ece4e46..c6ec997 100644
@@ -23,5 +23,5 @@ index ece4e46..c6ec997 100644
23 u16 current_vdd5v; 23 u16 current_vdd5v;
24 u16 current_sys5v; 24 u16 current_sys5v;
25-- 25--
261.7.7.6 261.7.10
27 27
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0052-Implemented-Bone-Cape-configuration-from-EEPROM.-Onl.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0052-Implemented-Bone-Cape-configuration-from-EEPROM.-Onl.patch
index f0a3b770..15b428e3 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0052-Implemented-Bone-Cape-configuration-from-EEPROM.-Onl.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0052-Implemented-Bone-Cape-configuration-from-EEPROM.-Onl.patch
@@ -1,7 +1,7 @@
1From ef6c0767e7c4337f45080906cda46a2c05e000f8 Mon Sep 17 00:00:00 2001 1From 2ab55bf6a97122999e0cd6cbe18869fb89b59c0a Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Sun, 13 May 2012 18:14:22 +0200 3Date: Sun, 13 May 2012 18:14:22 +0200
4Subject: [PATCH 52/56] Implemented Bone Cape configuration from EEPROM. Only 4Subject: [PATCH 52/79] Implemented Bone Cape configuration from EEPROM. Only
5 used for BEBOPR cape for now. 5 used for BEBOPR cape for now.
6 6
7Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> 7Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
@@ -9,7 +9,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
9--- 9---
10 arch/arm/mach-omap2/board-am335xevm.c | 304 +++++++++++++++++++++++++++++++++ 10 arch/arm/mach-omap2/board-am335xevm.c | 304 +++++++++++++++++++++++++++++++++
11 arch/arm/mach-omap2/mux33xx.c | 14 ++ 11 arch/arm/mach-omap2/mux33xx.c | 14 ++
12 2 files changed, 318 insertions(+), 0 deletions(-) 12 2 files changed, 318 insertions(+)
13 13
14diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 14diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
15index c6ec997..7fb8295 100644 15index c6ec997..7fb8295 100644
@@ -359,5 +359,5 @@ index 72ac899..43c8989 100644
359 int __init am33xx_mux_init(struct omap_board_mux *board_subset) 359 int __init am33xx_mux_init(struct omap_board_mux *board_subset)
360 { 360 {
361-- 361--
3621.7.7.6 3621.7.10
363 363
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0053-Replaced-conditional-debug-code-by-pr_debug-statemen.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0053-Replaced-conditional-debug-code-by-pr_debug-statemen.patch
index 175468f7..28024eed 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0053-Replaced-conditional-debug-code-by-pr_debug-statemen.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0053-Replaced-conditional-debug-code-by-pr_debug-statemen.patch
@@ -1,13 +1,13 @@
1From 3df22c4c4db479f189d892bcbf009102855bbd05 Mon Sep 17 00:00:00 2001 1From 15a5705cf271c9571719d6e5e09e33efba9576b4 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Mon, 14 May 2012 14:31:37 +0200 3Date: Mon, 14 May 2012 14:31:37 +0200
4Subject: [PATCH 53/56] Replaced conditional debug code by pr_debug statements 4Subject: [PATCH 53/79] Replaced conditional debug code by pr_debug statements
5 for cleaner code. 5 for cleaner code.
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 91 +++++++++++++-------------------- 9 arch/arm/mach-omap2/board-am335xevm.c | 91 +++++++++++++--------------------
10 1 files changed, 36 insertions(+), 55 deletions(-) 10 1 file changed, 36 insertions(+), 55 deletions(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 7fb8295..d6a607a 100644 13index 7fb8295..d6a607a 100644
@@ -184,5 +184,5 @@ index 7fb8295..d6a607a 100644
184 } 184 }
185 } else { 185 } else {
186-- 186--
1871.7.7.6 1871.7.10
188 188
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0054-Workaround-for-boards-with-mistaken-ASCII-interpreta.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0054-Workaround-for-boards-with-mistaken-ASCII-interpreta.patch
index 028fe816..8957bbe3 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0054-Workaround-for-boards-with-mistaken-ASCII-interpreta.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0054-Workaround-for-boards-with-mistaken-ASCII-interpreta.patch
@@ -1,13 +1,13 @@
1From bf49a3539e82539d8d347f7d88626c308662ed62 Mon Sep 17 00:00:00 2001 1From 0d56e585afe2e1cf32a55e93e6a4aa8d659bccf4 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Mon, 14 May 2012 14:36:23 +0200 3Date: Mon, 14 May 2012 14:36:23 +0200
4Subject: [PATCH 54/56] Workaround for boards with (mistaken) ASCII 4Subject: [PATCH 54/79] Workaround for boards with (mistaken) ASCII
5 interpretation for the numpins field. 5 interpretation for the numpins field.
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 6 ++++++ 9 arch/arm/mach-omap2/board-am335xevm.c | 6 ++++++
10 1 files changed, 6 insertions(+), 0 deletions(-) 10 1 file changed, 6 insertions(+)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index d6a607a..0a1738a 100644 13index d6a607a..0a1738a 100644
@@ -27,5 +27,5 @@ index d6a607a..0a1738a 100644
27 cnt, NR_ITEMS( cape_config.muxdata)); 27 cnt, NR_ITEMS( cape_config.muxdata));
28 RULER( NR_ITEMS( cape_config.muxdata)); 28 RULER( NR_ITEMS( cape_config.muxdata));
29-- 29--
301.7.7.6 301.7.10
31 31
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch
index fa23ece2..1275fa5a 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch
@@ -1,13 +1,13 @@
1From 2dc46dbcb68848a670dbe877f954835980cf8d66 Mon Sep 17 00:00:00 2001 1From 8d8ad2973b9d062763f51f1bee0652a6647033a5 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Mon, 14 May 2012 15:07:43 +0200 3Date: Mon, 14 May 2012 15:07:43 +0200
4Subject: [PATCH 55/56] Workaround for EEPROM contents blocking further I2C 4Subject: [PATCH 55/79] Workaround for EEPROM contents blocking further I2C
5 bus access. 5 bus access.
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 5 ++++- 9 arch/arm/mach-omap2/board-am335xevm.c | 5 ++++-
10 1 files changed, 4 insertions(+), 1 deletions(-) 10 1 file changed, 4 insertions(+), 1 deletion(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 0a1738a..0fa8a32 100644 13index 0a1738a..0fa8a32 100644
@@ -26,5 +26,5 @@ index 0a1738a..0fa8a32 100644
26 case 0: status[ i] = 'i'; break; 26 case 0: status[ i] = 'i'; break;
27 case 1: status[ i] = 'o'; break; 27 case 1: status[ i] = 'o'; break;
28-- 28--
291.7.7.6 291.7.10
30 30
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0056-Added-check-on-EEPROM-revision-to-prevent-interpreti.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0056-Added-check-on-EEPROM-revision-to-prevent-interpreti.patch
index 239e9933..abdaabeb 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0056-Added-check-on-EEPROM-revision-to-prevent-interpreti.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0056-Added-check-on-EEPROM-revision-to-prevent-interpreti.patch
@@ -1,13 +1,13 @@
1From 8c79cdf0bbe2bff8043cf81da7b8793c21f64f17 Mon Sep 17 00:00:00 2001 1From ae7ecbfa459730344eeb559ce0352662c540289c Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl> 2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Tue, 15 May 2012 10:00:47 +0200 3Date: Tue, 15 May 2012 10:00:47 +0200
4Subject: [PATCH 56/56] Added check on EEPROM revision to prevent interpreting 4Subject: [PATCH 56/79] Added check on EEPROM revision to prevent interpreting
5 unknown formats. 5 unknown formats.
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 16 +++++++++++++--- 9 arch/arm/mach-omap2/board-am335xevm.c | 16 +++++++++++++---
10 1 files changed, 13 insertions(+), 3 deletions(-) 10 1 file changed, 13 insertions(+), 3 deletions(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 0fa8a32..68ddfe2 100644 13index 0fa8a32..68ddfe2 100644
@@ -56,5 +56,5 @@ index 0fa8a32..68ddfe2 100644
56 56
57 static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context) 57 static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context)
58-- 58--
591.7.7.6 591.7.10
60 60
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0057-i2c-prescalar-fix-i2c-fixed-prescalar-setting-issue.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0057-i2c-prescalar-fix-i2c-fixed-prescalar-setting-issue.patch
index da75695f..feb27c57 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0057-i2c-prescalar-fix-i2c-fixed-prescalar-setting-issue.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0057-i2c-prescalar-fix-i2c-fixed-prescalar-setting-issue.patch
@@ -1,7 +1,7 @@
1From 2436d7177f75ffa852dc008ce5fe63e92cec963a Mon Sep 17 00:00:00 2001 1From 3c530584c31f8e61a47a931dedca2f9e75165b9f Mon Sep 17 00:00:00 2001
2From: Al Pacifico <adpacifico@users.sourceforge.net> 2From: Al Pacifico <adpacifico@users.sourceforge.net>
3Date: Mon, 21 May 2012 11:50:32 -0700 3Date: Mon, 21 May 2012 11:50:32 -0700
4Subject: [PATCH 57/61] i2c-prescalar-fix: i2c: fixed prescalar setting issue 4Subject: [PATCH 57/79] i2c-prescalar-fix: i2c: fixed prescalar setting issue
5 5
6Applied Steve's i2c prescalar fix patches. 6Applied Steve's i2c prescalar fix patches.
7See https://groups.google.com/d/msg/beagleboard/Q1pDr1lT7Gk/jvxOxgg8_2MJ 7See https://groups.google.com/d/msg/beagleboard/Q1pDr1lT7Gk/jvxOxgg8_2MJ
@@ -12,7 +12,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
12 arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 3 ++- 12 arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 3 ++-
13 drivers/i2c/busses/i2c-omap.c | 2 ++ 13 drivers/i2c/busses/i2c-omap.c | 2 ++
14 include/linux/i2c-omap.h | 1 + 14 include/linux/i2c-omap.h | 1 +
15 3 files changed, 5 insertions(+), 1 deletions(-) 15 3 files changed, 5 insertions(+), 1 deletion(-)
16 16
17diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c 17diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
18index 9d3c9a5..946e6b5 100644 18index 9d3c9a5..946e6b5 100644
@@ -54,5 +54,5 @@ index fd38249..818f5bf 100644
54 #define OMAP_I2C_FLAG_BUS_SHIFT_NONE 0 54 #define OMAP_I2C_FLAG_BUS_SHIFT_NONE 0
55 #define OMAP_I2C_FLAG_BUS_SHIFT_1 BIT(7) 55 #define OMAP_I2C_FLAG_BUS_SHIFT_1 BIT(7)
56-- 56--
571.7.7.6 571.7.10
58 58
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0058-beaglebone-annotate-default-beaglebone-pinmux.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0058-beaglebone-annotate-default-beaglebone-pinmux.patch
index 66fb0de7..92b6d48c 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0058-beaglebone-annotate-default-beaglebone-pinmux.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0058-beaglebone-annotate-default-beaglebone-pinmux.patch
@@ -1,12 +1,12 @@
1From 178d60b5a56c1f8eff29d23c27cc14bc6c0a9e4c Mon Sep 17 00:00:00 2001 1From fe280a351fe71d5f1ade1aa3b8f9edc08e201ec1 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 22 May 2012 10:58:53 +0200 3Date: Tue, 22 May 2012 10:58:53 +0200
4Subject: [PATCH 58/61] beaglebone: annotate default beaglebone pinmux 4Subject: [PATCH 58/79] beaglebone: annotate default beaglebone pinmux
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 8 ++++---- 8 arch/arm/mach-omap2/board-am335xevm.c | 8 ++++----
9 1 files changed, 4 insertions(+), 4 deletions(-) 9 1 file changed, 4 insertions(+), 4 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 68ddfe2..b079279 100644 12index 68ddfe2..b079279 100644
@@ -28,5 +28,5 @@ index 68ddfe2..b079279 100644
28 {"gpmc_ad6.gpio1_6", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP}, 28 {"gpmc_ad6.gpio1_6", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
29 {NULL, 0}, 29 {NULL, 0},
30-- 30--
311.7.7.6 311.7.10
32 32
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch
index 1b55abff..32d9b25f 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch
@@ -1,13 +1,13 @@
1From f0f728e400d0512788e59a2d7a17e3aa8584c033 Mon Sep 17 00:00:00 2001 1From 1b74058d12afa7d51ef84316ec4ede88c565161f Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 22 May 2012 11:00:00 +0200 3Date: Tue, 22 May 2012 11:00:00 +0200
4Subject: [PATCH 59/61] beaglebone: fix pin-free thinko, this method doesn't 4Subject: [PATCH 59/79] beaglebone: fix pin-free thinko, this method doesn't
5 get called when there's a cape at 0x57 5 get called when there's a cape at 0x57
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 46 +++++++++++++++------------------ 9 arch/arm/mach-omap2/board-am335xevm.c | 46 +++++++++++++++------------------
10 1 files changed, 21 insertions(+), 25 deletions(-) 10 1 file changed, 21 insertions(+), 25 deletions(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index b079279..dfe8df5 100644 13index b079279..dfe8df5 100644
@@ -74,5 +74,5 @@ index b079279..dfe8df5 100644
74 return; 74 return;
75 out: 75 out:
76-- 76--
771.7.7.6 771.7.10
78 78
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0060-beaglebone-switch-RS232-cape-to-ttyO2.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0060-beaglebone-switch-RS232-cape-to-ttyO2.patch
index 063b2b31..abe82a3e 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0060-beaglebone-switch-RS232-cape-to-ttyO2.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0060-beaglebone-switch-RS232-cape-to-ttyO2.patch
@@ -1,12 +1,12 @@
1From b594d005ab1e622b9c3cbf45c2699dde4af3706f Mon Sep 17 00:00:00 2001 1From 77f8e93f7baf85dfab7cdf8b04c320f460a119cd Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 22 May 2012 11:00:35 +0200 3Date: Tue, 22 May 2012 11:00:35 +0200
4Subject: [PATCH 60/61] beaglebone: switch RS232 cape to ttyO2 4Subject: [PATCH 60/79] beaglebone: switch RS232 cape to ttyO2
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 5 +++-- 8 arch/arm/mach-omap2/board-am335xevm.c | 5 +++--
9 1 files changed, 3 insertions(+), 2 deletions(-) 9 1 file changed, 3 insertions(+), 2 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index dfe8df5..5902df0 100644 12index dfe8df5..5902df0 100644
@@ -25,5 +25,5 @@ index dfe8df5..5902df0 100644
25 if (!strncmp("BB-BONE-SERL-04", cape_config.partnumber, 15)) { 25 if (!strncmp("BB-BONE-SERL-04", cape_config.partnumber, 15)) {
26 pr_info("BeagleBone cape: not initializing RS485 cape\n"); 26 pr_info("BeagleBone cape: not initializing RS485 cape\n");
27-- 27--
281.7.7.6 281.7.10
29 29
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0061-beaglebone-make-uart2-pinmux-match-the-uart0-pinmux.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0061-beaglebone-make-uart2-pinmux-match-the-uart0-pinmux.patch
index 91f324c1..84c55459 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0061-beaglebone-make-uart2-pinmux-match-the-uart0-pinmux.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0061-beaglebone-make-uart2-pinmux-match-the-uart0-pinmux.patch
@@ -1,12 +1,12 @@
1From 9c7b14dcac75a1c6456e2cd4ae3e1737ed1c5f47 Mon Sep 17 00:00:00 2001 1From f138b1ab42cb36c13926e1cee6ed3cd429d1c91b Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 22 May 2012 12:25:33 +0200 3Date: Tue, 22 May 2012 12:25:33 +0200
4Subject: [PATCH 61/61] beaglebone: make uart2 pinmux match the uart0 pinmux 4Subject: [PATCH 61/79] beaglebone: make uart2 pinmux match the uart0 pinmux
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 7 ++----- 8 arch/arm/mach-omap2/board-am335xevm.c | 7 ++-----
9 1 files changed, 2 insertions(+), 5 deletions(-) 9 1 file changed, 2 insertions(+), 5 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 5902df0..e8ce381 100644 12index 5902df0..e8ce381 100644
@@ -27,5 +27,5 @@ index 5902df0..e8ce381 100644
27 }; 27 };
28 28
29-- 29--
301.7.7.6 301.7.10
31 31
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0062-da8xx-fb-Rounding-FB-size-to-satisfy-SGX-buffer-requ.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0062-da8xx-fb-Rounding-FB-size-to-satisfy-SGX-buffer-requ.patch
index f6860cb3..c3cd8e1f 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0062-da8xx-fb-Rounding-FB-size-to-satisfy-SGX-buffer-requ.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0062-da8xx-fb-Rounding-FB-size-to-satisfy-SGX-buffer-requ.patch
@@ -1,7 +1,7 @@
1From 02ad70ea366cb2946cc7d7c14ddcbd0dabf3d3ff Mon Sep 17 00:00:00 2001 1From c9201ef3a2d12a49b5070620a204f66eef5017e0 Mon Sep 17 00:00:00 2001
2From: Aditya Nellutla <aditya.n@ti.com> 2From: Aditya Nellutla <aditya.n@ti.com>
3Date: Thu, 29 Mar 2012 15:45:39 +0530 3Date: Thu, 29 Mar 2012 15:45:39 +0530
4Subject: [PATCH 62/63] da8xx-fb: Rounding FB size to satisfy SGX buffer 4Subject: [PATCH 62/79] da8xx-fb: Rounding FB size to satisfy SGX buffer
5 requirements 5 requirements
6 6
7In the real time use-case when SGX is used for rendering to FB buffers it has been 7In the real time use-case when SGX is used for rendering to FB buffers it has been
@@ -22,7 +22,7 @@ This patch makes sure that FB allocates buffers aligned to above formula.
22Signed-off-by: Aditya Nellutla <aditya.n@ti.com> 22Signed-off-by: Aditya Nellutla <aditya.n@ti.com>
23--- 23---
24 drivers/video/da8xx-fb.c | 5 ++++- 24 drivers/video/da8xx-fb.c | 5 ++++-
25 1 files changed, 4 insertions(+), 1 deletions(-) 25 1 file changed, 4 insertions(+), 1 deletion(-)
26 26
27diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c 27diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
28index 86b19ac..9aaca5d 100644 28index 86b19ac..9aaca5d 100644
@@ -55,5 +55,5 @@ index 86b19ac..9aaca5d 100644
55 55
56 par->vram_virt = dma_alloc_coherent(NULL, 56 par->vram_virt = dma_alloc_coherent(NULL,
57-- 57--
581.7.7.6 581.7.10
59 59
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch
index 184d1689..f429e74f 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch
@@ -1,13 +1,13 @@
1From 4c0991689b1e22f28d4827b218e31131f9f56be7 Mon Sep 17 00:00:00 2001 1From 81ca4844089a80e1b1a285ce661f662a04312e81 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 23 May 2012 15:51:12 +0200 3Date: Wed, 23 May 2012 15:51:12 +0200
4Subject: [PATCH 63/63] beaglebone: dvi cape audio hacks 4Subject: [PATCH 63/79] beaglebone: dvi cape audio hacks
5 5
6--- 6---
7 arch/arm/mach-omap2/board-am335xevm.c | 72 ++++++++++++++++++++++++++------ 7 arch/arm/mach-omap2/board-am335xevm.c | 72 ++++++++++++++++++++++++++-------
8 arch/arm/mach-omap2/devices.c | 2 +- 8 arch/arm/mach-omap2/devices.c | 2 +-
9 sound/soc/codecs/tlv320aic3x.c | 2 +- 9 sound/soc/codecs/tlv320aic3x.c | 2 +-
10 sound/soc/davinci/davinci-evm.c | 7 ++- 10 sound/soc/davinci/davinci-evm.c | 7 ++--
11 4 files changed, 64 insertions(+), 19 deletions(-) 11 4 files changed, 64 insertions(+), 19 deletions(-)
12 12
13diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 13diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
@@ -173,7 +173,7 @@ index 9e029da..41c9b0f 100644
173 } 173 }
174 174
175diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c 175diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
176index d0dbac1..fc32b7f 100644 176index cdb473c..5567756 100644
177--- a/sound/soc/codecs/tlv320aic3x.c 177--- a/sound/soc/codecs/tlv320aic3x.c
178+++ b/sound/soc/codecs/tlv320aic3x.c 178+++ b/sound/soc/codecs/tlv320aic3x.c
179@@ -52,7 +52,7 @@ 179@@ -52,7 +52,7 @@
@@ -213,5 +213,5 @@ index f6a62c3..7ad7b37 100644
213 platform_set_drvdata(evm_snd_device, evm_snd_dev_data); 213 platform_set_drvdata(evm_snd_device, evm_snd_dev_data);
214 ret = platform_device_add(evm_snd_device); 214 ret = platform_device_add(evm_snd_device);
215-- 215--
2161.7.7.6 2161.7.10
217 217
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch
index e6f696ed..2c2b12cc 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch
@@ -1,14 +1,14 @@
1From 2b000164f7bd77838ec5c9ad5d392282a4e27b3f Mon Sep 17 00:00:00 2001 1From b7349f4b517f8736efcc1a2c1469b07d7361ee5f Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 23 May 2012 17:39:12 +0200 3Date: Wed, 23 May 2012 17:39:12 +0200
4Subject: [PATCH 64/64] beaglebone: always execute the pin free checks 4Subject: [PATCH 64/79] beaglebone: always execute the pin free checks
5 5
6This code needs to run when there are no capes and when there are capes present. 6This code needs to run when there are no capes and when there are capes present.
7 7
8Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 8Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
9--- 9---
10 arch/arm/mach-omap2/board-am335xevm.c | 26 +++++++++++++------------- 10 arch/arm/mach-omap2/board-am335xevm.c | 26 +++++++++++++-------------
11 1 files changed, 13 insertions(+), 13 deletions(-) 11 1 file changed, 13 insertions(+), 13 deletions(-)
12 12
13diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 13diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
14index 1f2d1fd..da6020b 100644 14index 1f2d1fd..da6020b 100644
@@ -64,5 +64,5 @@ index 1f2d1fd..da6020b 100644
64 64
65 static struct at24_platform_data cape_eeprom_info = { 65 static struct at24_platform_data cape_eeprom_info = {
66-- 66--
671.7.7.6 671.7.10
68 68
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch
index ae5a4f99..5bdf1617 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch
@@ -1,12 +1,12 @@
1From 979f76376236287b2e4d4b4505ed34b1f9c9d389 Mon Sep 17 00:00:00 2001 1From bd18b67644c8107920db6911aa16be680af23cf1 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 28 May 2012 09:56:45 +0200 3Date: Mon, 28 May 2012 09:56:45 +0200
4Subject: [PATCH 65/68] ti_tscadc: switch to 16x averaging 4Subject: [PATCH 65/79] ti_tscadc: switch to 16x averaging
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 drivers/input/touchscreen/ti_tscadc.c | 8 ++++---- 8 drivers/input/touchscreen/ti_tscadc.c | 8 ++++----
9 1 files changed, 4 insertions(+), 4 deletions(-) 9 1 file changed, 4 insertions(+), 4 deletions(-)
10 10
11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c 11diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c
12index 7df7bb2..ae6c4c4 100644 12index 7df7bb2..ae6c4c4 100644
@@ -49,5 +49,5 @@ index 7df7bb2..ae6c4c4 100644
49 TSCADC_STEPCONFIG_YPN | TSCADC_STEPCONFIG_INM; 49 TSCADC_STEPCONFIG_YPN | TSCADC_STEPCONFIG_INM;
50 stepconfigz2 = stepconfigz1 | TSCADC_STEPCONFIG_Z1 | 50 stepconfigz2 = stepconfigz1 | TSCADC_STEPCONFIG_Z1 |
51-- 51--
521.7.7.6 521.7.10
53 53
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0066-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch
index 27431b8a..ed494ec1 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0066-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch
@@ -1,7 +1,7 @@
1From 3f166417b837d6fb44e1003a2286876cb5c682b4 Mon Sep 17 00:00:00 2001 1From b3830f85231a530a9a83a5f8f6ff893aa0be2d60 Mon Sep 17 00:00:00 2001
2From: "Patil, Rachna" <rachna@ti.com> 2From: "Patil, Rachna" <rachna@ti.com>
3Date: Thu, 26 Apr 2012 15:20:20 +0530 3Date: Thu, 26 Apr 2012 15:20:20 +0530
4Subject: [PATCH 67/68] video: da8xx-fb: Add Newhaven LCD Panel details 4Subject: [PATCH 66/79] video: da8xx-fb: Add Newhaven LCD Panel details
5 5
6This patch adds details for Newhaven display Panel. 6This patch adds details for Newhaven display Panel.
7This panel is used on AM335x EVM-SK An upcoming TI EVM. 7This panel is used on AM335x EVM-SK An upcoming TI EVM.
@@ -13,7 +13,7 @@ Conflicts:
13 drivers/video/da8xx-fb.c 13 drivers/video/da8xx-fb.c
14--- 14---
15 drivers/video/da8xx-fb.c | 14 ++++++++++++++ 15 drivers/video/da8xx-fb.c | 14 ++++++++++++++
16 1 files changed, 14 insertions(+), 0 deletions(-) 16 1 file changed, 14 insertions(+)
17 17
18diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c 18diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
19index 9aaca5d..010a8bc 100644 19index 9aaca5d..010a8bc 100644
@@ -41,5 +41,5 @@ index 9aaca5d..010a8bc 100644
41 41
42 /* Enable the Raster Engine of the LCD Controller */ 42 /* Enable the Raster Engine of the LCD Controller */
43-- 43--
441.7.7.6 441.7.10
45 45
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch
index 6d2ab2a3..cf39615d 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch
@@ -1,16 +1,16 @@
1From 6b69dbc7cee48dfa9ff281ae918cc468ed38a537 Mon Sep 17 00:00:00 2001 1From 8652d1a5b1a191a460de6b7214168dc77b6ceeb1 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 29 May 2012 14:12:44 +0200 3Date: Tue, 29 May 2012 14:12:44 +0200
4Subject: [PATCH 68/68] beaglebone: add support for the 4.3" lcd cape with 4Subject: [PATCH 67/79] beaglebone: add support for the 4.3" lcd cape with
5 resistive touchscreen 5 resistive touchscreen
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 48 +++++++++++++++++++++++++++----- 9 arch/arm/mach-omap2/board-am335xevm.c | 48 +++++++++++++++++++++++++++------
10 1 files changed, 40 insertions(+), 8 deletions(-) 10 1 file changed, 40 insertions(+), 8 deletions(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 58c2754..bb6049a 100644 13index da6020b..e360b22 100644
14--- a/arch/arm/mach-omap2/board-am335xevm.c 14--- a/arch/arm/mach-omap2/board-am335xevm.c
15+++ b/arch/arm/mach-omap2/board-am335xevm.c 15+++ b/arch/arm/mach-omap2/board-am335xevm.c
16@@ -272,6 +272,12 @@ struct da8xx_lcdc_platform_data bbtoys35_pdata = { 16@@ -272,6 +272,12 @@ struct da8xx_lcdc_platform_data bbtoys35_pdata = {
@@ -90,5 +90,5 @@ index 58c2754..bb6049a 100644
90 if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 14)) { 90 if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 14)) {
91 pr_info("BeagleBone cape: initializing VGA cape\n"); 91 pr_info("BeagleBone cape: initializing VGA cape\n");
92-- 92--
931.7.7.6 931.7.10
94 94
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-LCD3-rev-A1.patch
index d9bc2b56..1f22cd79 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-LCD3-rev-A1.patch
@@ -1,15 +1,15 @@
1From b61b89f98ac85ccd8d503a902bad208343ed0aba Mon Sep 17 00:00:00 2001 1From 590a240f4bb7c6eeda5d11c9040821a71edefc53 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 4 Jun 2012 14:38:02 +0200 3Date: Mon, 4 Jun 2012 14:38:02 +0200
4Subject: [PATCH] beaglebone: add support for LCD3 rev A1 4Subject: [PATCH 68/79] beaglebone: add support for LCD3 rev A1
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 94 +++++++++++++++++++++++++++++---- 8 arch/arm/mach-omap2/board-am335xevm.c | 94 +++++++++++++++++++++++++++++----
9 1 files changed, 83 insertions(+), 11 deletions(-) 9 1 file changed, 83 insertions(+), 11 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index bb6049a..51bfa8b 100644 12index e360b22..d83431a 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c 13--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c 14+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -1136,7 +1136,7 @@ static struct pinmux_config lcd3_keys_pin_mux[] = { 15@@ -1136,7 +1136,7 @@ static struct pinmux_config lcd3_keys_pin_mux[] = {
@@ -128,5 +128,5 @@ index bb6049a..51bfa8b 100644
128 lcd3leds_init(0,0); 128 lcd3leds_init(0,0);
129 } 129 }
130-- 130--
1311.7.7.6 1311.7.10
132 132
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch
index ae277fa1..08330a04 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch
@@ -1,16 +1,16 @@
1From d99bad03ee2f3cc3d9a61879e53e4795a05eaed3 Mon Sep 17 00:00:00 2001 1From dbe62e3346ee4423a2d3c83e6390ef39c2a0a0bf Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 6 Jun 2012 11:20:21 +0200 3Date: Wed, 6 Jun 2012 11:20:21 +0200
4Subject: [PATCH 70/70] beaglebone: fix buttons/spidev clash when using 4Subject: [PATCH 69/79] beaglebone: fix buttons/spidev clash when using
5 mcasp0_axr0.gpio3_16 5 mcasp0_axr0.gpio3_16
6 6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8--- 8---
9 arch/arm/mach-omap2/board-am335xevm.c | 13 +++++++------ 9 arch/arm/mach-omap2/board-am335xevm.c | 13 +++++++------
10 1 files changed, 7 insertions(+), 6 deletions(-) 10 1 file changed, 7 insertions(+), 6 deletions(-)
11 11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 51bfa8b..7fd611f 100644 13index d83431a..15ee8af 100644
14--- a/arch/arm/mach-omap2/board-am335xevm.c 14--- a/arch/arm/mach-omap2/board-am335xevm.c
15+++ b/arch/arm/mach-omap2/board-am335xevm.c 15+++ b/arch/arm/mach-omap2/board-am335xevm.c
16@@ -1051,12 +1051,11 @@ static void volume_keys_init(int evm_id, int profile) 16@@ -1051,12 +1051,11 @@ static void volume_keys_init(int evm_id, int profile)
@@ -48,5 +48,5 @@ index 51bfa8b..7fd611f 100644
48 lcd3leds_init(0,0); 48 lcd3leds_init(0,0);
49 } 49 }
50-- 50--
511.7.7.6 511.7.10
52 52
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-LCD3-led-key-overlap.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-LCD3-led-key-overlap.patch
index 7d796a7c..942ab611 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-LCD3-led-key-overlap.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-LCD3-led-key-overlap.patch
@@ -1,7 +1,7 @@
1From fa18ca5c896696066349e2803dfeeda1fcd4a4e3 Mon Sep 17 00:00:00 2001 1From 2a148ebd4606ed6a5d24287aa7e5701de3259057 Mon Sep 17 00:00:00 2001
2From: Damian <damian.eppel@teleca.com> 2From: Damian <damian.eppel@teleca.com>
3Date: Tue, 5 Jun 2012 23:14:58 +0200 3Date: Tue, 5 Jun 2012 23:14:58 +0200
4Subject: [PATCH 1/2] beaglebone: fix LCD3 led/key overlap 4Subject: [PATCH 70/79] beaglebone: fix LCD3 led/key overlap
5 5
6Signed-off-by: Koen Kooi <koen@circuitco.com> 6Signed-off-by: Koen Kooi <koen@circuitco.com>
7--- 7---
@@ -9,7 +9,7 @@ Signed-off-by: Koen Kooi <koen@circuitco.com>
9 1 file changed, 1 insertion(+), 8 deletions(-) 9 1 file changed, 1 insertion(+), 8 deletions(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 7fd611f..a337bb3 100644 12index 15ee8af..9a56a769 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c 13--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c 14+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -639,7 +639,6 @@ static struct pinmux_config dvia2_pin_mux[] = { 15@@ -639,7 +639,6 @@ static struct pinmux_config dvia2_pin_mux[] = {
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-fix-audio-spi-clash.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-audio-spi-clash.patch
index a916ad5a..02bf4950 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-fix-audio-spi-clash.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-audio-spi-clash.patch
@@ -1,18 +1,18 @@
1From 45ddec832968e3c1e31cf38a891372ba80027e2d Mon Sep 17 00:00:00 2001 1From 1ec20c05453acf20b9d5d385ac9574e9ab64347d Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 26 Jun 2012 08:39:04 +0200 3Date: Tue, 26 Jun 2012 08:39:04 +0200
4Subject: [PATCH] beaglebone: fix audio/spi clash 4Subject: [PATCH 71/79] beaglebone: fix audio/spi clash
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
8 arch/arm/mach-omap2/board-am335xevm.c | 3 ++- 8 arch/arm/mach-omap2/board-am335xevm.c | 1 +
9 1 file changed, 2 insertions(+), 1 deletion(-) 9 1 file changed, 1 insertion(+)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index f6559b6..d0681a2 100644 12index 9a56a769..d2481af 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c 13--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c 14+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -2910,6 +2910,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context 15@@ -2691,6 +2691,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
16 16
17 beaglebone_leds_free = 0; 17 beaglebone_leds_free = 0;
18 dvileds_init(0,0); 18 dvileds_init(0,0);
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch
index 48ac34b9..724c3dda 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch
@@ -1,8 +1,8 @@
1From cf35e6b861c3c7d4d9c9db1557ba27b5578e8aa2 Mon Sep 17 00:00:00 2001 1From e3a4f83627a111ae21ea8c6521ad98201f55eacc Mon Sep 17 00:00:00 2001
2From: Dan Aizenstros <daizenstros@quicklogic.com> 2From: Dan Aizenstros <daizenstros@quicklogic.com>
3Date: Fri, 29 Jun 2012 13:57:49 -0400 3Date: Fri, 29 Jun 2012 13:57:49 -0400
4Subject: [PATCH] beaglebone: add support for QuickLogic Camera interface on 4Subject: [PATCH 72/79] beaglebone: add support for QuickLogic Camera
5 camera cape 5 interface on camera cape
6 6
7Signed-off-by: Dan Aizenstros <daizenstros@quicklogic.com> 7Signed-off-by: Dan Aizenstros <daizenstros@quicklogic.com>
8--- 8---
@@ -20,10 +20,10 @@ Signed-off-by: Dan Aizenstros <daizenstros@quicklogic.com>
20 create mode 100644 drivers/media/video/cssp_camera/cssp_camera.h 20 create mode 100644 drivers/media/video/cssp_camera/cssp_camera.h
21 21
22diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 22diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
23index dc78b4a..1680612 100644 23index d2481af..22a740f 100644
24--- a/arch/arm/mach-omap2/board-am335xevm.c 24--- a/arch/arm/mach-omap2/board-am335xevm.c
25+++ b/arch/arm/mach-omap2/board-am335xevm.c 25+++ b/arch/arm/mach-omap2/board-am335xevm.c
26@@ -66,6 +66,10 @@ 26@@ -65,6 +65,10 @@
27 #include <plat/mmc.h> 27 #include <plat/mmc.h>
28 #include <plat/emif.h> 28 #include <plat/emif.h>
29 #include <plat/nand.h> 29 #include <plat/nand.h>
@@ -34,7 +34,7 @@ index dc78b4a..1680612 100644
34 34
35 #include "board-flash.h" 35 #include "board-flash.h"
36 #include "cpuidle33xx.h" 36 #include "cpuidle33xx.h"
37@@ -804,6 +808,42 @@ static struct pinmux_config i2c1_pin_mux[] = { 37@@ -803,6 +807,42 @@ static struct pinmux_config i2c1_pin_mux[] = {
38 {NULL, 0}, 38 {NULL, 0},
39 }; 39 };
40 40
@@ -77,7 +77,7 @@ index dc78b4a..1680612 100644
77 static struct pinmux_config i2c2_pin_mux[] = { 77 static struct pinmux_config i2c2_pin_mux[] = {
78 {"uart1_ctsn.i2c2_sda", OMAP_MUX_MODE3 | AM33XX_SLEWCTRL_SLOW | 78 {"uart1_ctsn.i2c2_sda", OMAP_MUX_MODE3 | AM33XX_SLEWCTRL_SLOW |
79 AM33XX_PIN_INPUT_PULLUP}, 79 AM33XX_PIN_INPUT_PULLUP},
80@@ -1803,6 +1843,156 @@ static void dvileds_init(int evm_id, int profile ) 80@@ -1802,6 +1842,156 @@ static void dvileds_init(int evm_id, int profile )
81 pr_err("failed to register BeagleBone DVI cape LEDS\n"); 81 pr_err("failed to register BeagleBone DVI cape LEDS\n");
82 } 82 }
83 83
@@ -234,7 +234,7 @@ index dc78b4a..1680612 100644
234 static void lcd3leds_init(int evm_id, int profile ) 234 static void lcd3leds_init(int evm_id, int profile )
235 { 235 {
236 int err; 236 int err;
237@@ -2851,6 +3041,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context 237@@ -2821,6 +3011,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
238 if (!strncmp("BB-BONE-CAM-01", cape_config.partnumber, 14)) { 238 if (!strncmp("BB-BONE-CAM-01", cape_config.partnumber, 14)) {
239 pr_info("BeagleBone cape: recognized Camera cape\n"); 239 pr_info("BeagleBone cape: recognized Camera cape\n");
240 beaglebone_w1gpio_free = 0; 240 beaglebone_w1gpio_free = 0;
@@ -242,7 +242,7 @@ index dc78b4a..1680612 100644
242 } 242 }
243 243
244 goto out2; 244 goto out2;
245@@ -3762,15 +3953,13 @@ static struct pinmux_config clkout2_pin_mux[] = { 245@@ -3729,15 +3920,13 @@ static struct pinmux_config clkout2_pin_mux[] = {
246 246
247 static void __init clkout2_enable(void) 247 static void __init clkout2_enable(void)
248 { 248 {
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch
index 60d5be0f..051a727b 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch
@@ -1,7 +1,8 @@
1From d87e8e9379764451de06b3f6d13d19424836f64c Mon Sep 17 00:00:00 2001 1From 040c37e89e6a7a7311a470bda281e1163559173c Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 3 Jul 2012 08:45:47 +0200 3Date: Tue, 3 Jul 2012 08:45:47 +0200
4Subject: [PATCH] beaglebone: add support for DVI+audio and audio-only capes 4Subject: [PATCH 73/79] beaglebone: add support for DVI+audio and audio-only
5 capes
5 6
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 8---
@@ -9,10 +10,10 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
9 1 file changed, 30 insertions(+), 2 deletions(-) 10 1 file changed, 30 insertions(+), 2 deletions(-)
10 11
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 1680612..4b3f7d2 100644 13index 22a740f..bf40ac9 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c 14--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c 15+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -2906,8 +2906,10 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context 16@@ -2881,8 +2881,10 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
16 17
17 beaglebone_leds_free = 0; 18 beaglebone_leds_free = 0;
18 dvileds_init(0,0); 19 dvileds_init(0,0);
@@ -25,7 +26,7 @@ index 1680612..4b3f7d2 100644
25 26
26 if (!strncmp("00A1", cape_config.version, 4) || !strncmp("000A", cape_config.version, 4)) { 27 if (!strncmp("00A1", cape_config.version, 4) || !strncmp("000A", cape_config.version, 4)) {
27 pr_info("BeagleBone cape: DVI init for revision A1 or older\n"); 28 pr_info("BeagleBone cape: DVI init for revision A1 or older\n");
28@@ -2923,6 +2925,32 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context 29@@ -2898,6 +2900,32 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
29 dvi_init(0,0); 30 dvi_init(0,0);
30 } 31 }
31 } 32 }
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0075-beaglebone-disable-LBO-GPIO-for-battery-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-disable-LBO-GPIO-for-battery-cape.patch
index 641db757..02485c34 100644
--- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0075-beaglebone-disable-LBO-GPIO-for-battery-cape.patch
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-disable-LBO-GPIO-for-battery-cape.patch
@@ -1,7 +1,7 @@
1From 9332627ac6b70511742208d6fa7c7042c203f852 Mon Sep 17 00:00:00 2001 1From f723bdf574163ced9a685783a475b254f6a981d5 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net> 2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Tue, 3 Jul 2012 21:28:44 +0200 3Date: Tue, 3 Jul 2012 21:28:44 +0200
4Subject: [PATCH 75/75] beaglebone: disable LBO GPIO for battery cape 4Subject: [PATCH 74/79] beaglebone: disable LBO GPIO for battery cape
5 5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7--- 7---
@@ -9,7 +9,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
9 1 file changed, 3 insertions(+), 1 deletion(-) 9 1 file changed, 3 insertions(+), 1 deletion(-)
10 10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c 11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index af75c88..7d6ac77 100644 12index bf40ac9..6b4539e 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c 13--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c 14+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -2999,7 +2999,8 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context 15@@ -2999,7 +2999,8 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0080-vfs-Add-a-trace-point-in-the-mark_inode_dirty-functi.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0080-vfs-Add-a-trace-point-in-the-mark_inode_dirty-functi.patch
new file mode 100644
index 00000000..f45178c2
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0080-vfs-Add-a-trace-point-in-the-mark_inode_dirty-functi.patch
@@ -0,0 +1,103 @@
1From a0a3563affbbebd9c7385586e1d6031de82c2a83 Mon Sep 17 00:00:00 2001
2From: Arjan van de Ven <arjan at linux.intel.com>
3Date: Fri, 26 Nov 2010 12:18:03 -0800
4Subject: [PATCH] vfs: Add a trace point in the mark_inode_dirty function
5
6PowerTOP would like to be able to show who is keeping the disk
7busy by dirtying data. The most logical spot for this is in the vfs
8in the mark_inode_dirty() function, doing this on the block level
9is not possible because by the time the IO hits the block layer the
10guilty party can no longer be found ("kjournald" and "pdflush" are not
11useful answers to "who caused this file to be dirty).
12
13The trace point follows the same logic/style as the block_dump code
14and pretty much dumps the same data, just not to dmesg (and thus to
15/var/log/messages) but via the trace events streams.
16
17Eventually we should be able to phase out the block dump code, but that's
18for later on after a transition time.
19---
20 fs/fs-writeback.c | 3 +++
21 include/linux/fs.h | 12 ++++++++++++
22 include/trace/events/writeback.h | 28 ++++++++++++++++++++++++++++
23 3 files changed, 43 insertions(+)
24
25diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
26index 54f5786..981ec8c 100644
27--- a/fs/fs-writeback.c
28+++ b/fs/fs-writeback.c
29@@ -1072,6 +1072,9 @@ void __mark_inode_dirty(struct inode *inode, int flags)
30 if ((inode->i_state & flags) == flags)
31 return;
32
33+ if (flags & (I_DIRTY_SYNC | I_DIRTY_DATASYNC | I_DIRTY_PAGES))
34+ trace_writeback_inode_dirty(inode, flags);
35+
36 if (unlikely(block_dump))
37 block_dump___mark_inode_dirty(inode);
38
39diff --git a/include/linux/fs.h b/include/linux/fs.h
40index 43d36b7..a3e46ee 100644
41--- a/include/linux/fs.h
42+++ b/include/linux/fs.h
43@@ -1759,6 +1759,18 @@ struct super_operations {
44
45 #define I_DIRTY (I_DIRTY_SYNC | I_DIRTY_DATASYNC | I_DIRTY_PAGES)
46
47+#define INODE_DIRTY_FLAGS \
48+ { I_DIRTY_SYNC, "DIRTY-SYNC" }, \
49+ { I_DIRTY_DATASYNC, "DIRTY-DATASYNC" }, \
50+ { I_DIRTY_PAGES, "DIRTY-PAGES" }, \
51+ { I_NEW, "NEW" }, \
52+ { I_WILL_FREE, "WILL-FREE" }, \
53+ { I_FREEING, "FREEING" }, \
54+ { I_CLEAR, "CLEAR" }, \
55+ { I_SYNC, "SYNC" }, \
56+ { I_REFERENCED, "REFERENCED" }
57+
58+
59 extern void __mark_inode_dirty(struct inode *, int);
60 static inline void mark_inode_dirty(struct inode *inode)
61 {
62diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h
63index 1f48f14..8053e75 100644
64--- a/include/trace/events/writeback.h
65+++ b/include/trace/events/writeback.h
66@@ -400,6 +400,34 @@ DEFINE_EVENT(writeback_congest_waited_template, writeback_wait_iff_congested,
67 TP_ARGS(usec_timeout, usec_delayed)
68 );
69
70+/*
71+ * Tracepoint for dirtying an inode; used by PowerTOP
72+ */
73+TRACE_EVENT(writeback_inode_dirty,
74+
75+ TP_PROTO(struct inode *inode, int flags),
76+
77+ TP_ARGS(inode, flags),
78+
79+ TP_STRUCT__entry(
80+ __field( __kernel_dev_t, dev )
81+ __field( ino_t, ino )
82+ __field( u32, flags )
83+ ),
84+
85+ TP_fast_assign(
86+ __entry->dev = inode->i_sb->s_dev;
87+ __entry->ino = inode->i_ino;
88+ __entry->flags = flags;
89+ ),
90+
91+ TP_printk("dev %d:%d ino %lu flags %d %s", MAJOR(__entry->dev), MINOR(__entry->dev),
92+ (unsigned long) __entry->ino,
93+ __entry->flags,
94+ __print_flags(__entry->flags, "|", INODE_DIRTY_FLAGS)
95+ )
96+);
97+
98 DECLARE_EVENT_CLASS(writeback_single_inode_template,
99
100 TP_PROTO(struct inode *inode,
101--
1021.7.10
103
diff --git a/recipes-kernel/linux/linux-ti33x-psp_3.2.bb b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
index eab31272..c137e13a 100644
--- a/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
+++ b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
@@ -11,7 +11,7 @@ S = "${WORKDIR}/git"
11MULTI_CONFIG_BASE_SUFFIX = "" 11MULTI_CONFIG_BASE_SUFFIX = ""
12 12
13# the PATCHES_OVER_PSP updates it to 3.2.x, so adjust PV to match 13# the PATCHES_OVER_PSP updates it to 3.2.x, so adjust PV to match
14PV = "${@base_contains('DISTRO_FEATURES', 'tipspkernel', "3.2", "3.2.21", d)}" 14PV = "${@base_contains('DISTRO_FEATURES', 'tipspkernel', "3.2", "3.2.23", d)}"
15 15
16BRANCH = "v3.2-staging" 16BRANCH = "v3.2-staging"
17SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01" 17SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01"
@@ -1445,6 +1445,101 @@ PATCHES_OVER_PSP = " \
1445 file://3.2.21/0065-swap-fix-shmem-swapping-when-more-than-8-areas.patch \ 1445 file://3.2.21/0065-swap-fix-shmem-swapping-when-more-than-8-areas.patch \
1446 file://3.2.21/0066-drm-radeon-add-some-additional-6xx-7xx-EG-register-i.patch \ 1446 file://3.2.21/0066-drm-radeon-add-some-additional-6xx-7xx-EG-register-i.patch \
1447 file://3.2.21/0067-Linux-3.2.21.patch \ 1447 file://3.2.21/0067-Linux-3.2.21.patch \
1448 file://3.2.22/0001-staging-iio-ad7606-Re-add-missing-scale-attribute.patch \
1449 file://3.2.22/0002-Tools-hv-verify-origin-of-netlink-connector-message.patch \
1450 file://3.2.22/0003-edac-avoid-mce-decoding-crash-after-edac-driver-unlo.patch \
1451 file://3.2.22/0004-hwrng-atmel-rng-fix-data-valid-check.patch \
1452 file://3.2.22/0005-staging-r8712u-Add-new-USB-IDs.patch \
1453 file://3.2.22/0006-hwmon-applesmc-Limit-key-length-in-warning-messages.patch \
1454 file://3.2.22/0007-mm-pmd_read_atomic-fix-32bit-PAE-pmd-walk-vs-pmd_pop.patch \
1455 file://3.2.22/0008-thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit.patch \
1456 file://3.2.22/0009-nilfs2-ensure-proper-cache-clearing-for-gc-inodes.patch \
1457 file://3.2.22/0010-drm-i915-Finish-any-pending-operations-on-the-frameb.patch \
1458 file://3.2.22/0011-drm-i915-Remove-use-of-the-autoreported-ringbuffer-H.patch \
1459 file://3.2.22/0012-e1000e-Disable-ASPM-L1-on-82574.patch \
1460 file://3.2.22/0013-e1000e-Remove-special-case-for-82573-82574-ASPM-L1-d.patch \
1461 file://3.2.22/0014-drm-i915-Do-the-fallback-non-IRQ-wait-in-ring-thrott.patch \
1462 file://3.2.22/0015-staging-rts_pstor-Fix-possible-panic-by-NULL-pointer.patch \
1463 file://3.2.22/0016-gspca-core-Fix-buffers-staying-in-queued-state-after.patch \
1464 file://3.2.22/0017-smsusb-add-autodetection-support-for-USB-ID-2040-f5a.patch \
1465 file://3.2.22/0018-drm-edid-don-t-return-stack-garbage-from-supports_rb.patch \
1466 file://3.2.22/0019-drm-nouveau-fbcon-using-nv_two_heads-is-not-a-good-i.patch \
1467 file://3.2.22/0020-dm-thin-reinstate-missing-mempool_free-in-cell_relea.patch \
1468 file://3.2.22/0021-ath9k-Fix-a-WARNING-on-suspend-resume-with-IBSS.patch \
1469 file://3.2.22/0022-cfg80211-fix-potential-deadlock-in-regulatory.patch \
1470 file://3.2.22/0023-ath9k-Fix-softlockup-in-AR9485.patch \
1471 file://3.2.22/0024-can-c_can-precedence-error-in-c_can_chip_config.patch \
1472 file://3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch \
1473 file://3.2.22/0026-batman-adv-fix-skb-data-assignment.patch \
1474 file://3.2.22/0027-ARM-SAMSUNG-Should-check-for-IS_ERR-clk-instead-of-N.patch \
1475 file://3.2.22/0028-ath9k_hw-avoid-possible-infinite-loop-in-ar9003_get_.patch \
1476 file://3.2.22/0029-iwlwifi-remove-log_event-debugfs-file-debugging-is-d.patch \
1477 file://3.2.22/0030-ARM-SAMSUNG-Fix-for-S3C2412-EBI-memory-mapping.patch \
1478 file://3.2.22/0031-USB-option-add-id-for-Cellient-MEN-200.patch \
1479 file://3.2.22/0032-oprofile-perf-use-NR_CPUS-instead-or-nr_cpumask_bits.patch \
1480 file://3.2.22/0033-drm-i915-Refactor-the-deferred-PM_IIR-handling-into-.patch \
1481 file://3.2.22/0034-drm-i915-rip-out-the-PM_IIR-WARN.patch \
1482 file://3.2.22/0035-drm-i915-Fix-eDP-blank-screen-after-S3-resume-on-HP-.patch \
1483 file://3.2.22/0036-PM-Sleep-Prevent-waiting-forever-on-asynchronous-sus.patch \
1484 file://3.2.22/0037-x86-cpufeature-Rename-X86_FEATURE_DTS-to-X86_FEATURE.patch \
1485 file://3.2.22/0038-stable-Allow-merging-of-backports-for-serious-user-v.patch \
1486 file://3.2.22/0039-ALSA-hda-Add-Realtek-ALC280-codec-support.patch \
1487 file://3.2.22/0040-USB-option-Add-USB-ID-for-Novatel-Ovation-MC551.patch \
1488 file://3.2.22/0041-USB-CP210x-Add-10-Device-IDs.patch \
1489 file://3.2.22/0042-xen-netfront-teardown-the-device-before-unregisterin.patch \
1490 file://3.2.22/0043-can-flexcan-use-be32_to_cpup-to-handle-the-value-of-.patch \
1491 file://3.2.22/0044-acpi_pad-fix-power_saving-thread-deadlock.patch \
1492 file://3.2.22/0045-batman-adv-only-drop-packets-of-known-wifi-clients.patch \
1493 file://3.2.22/0046-Linux-3.2.22.patch \
1494 file://3.2.23/0001-splice-fix-racy-pipe-buffers-uses.patch \
1495 file://3.2.23/0002-umem-fix-up-unplugging.patch \
1496 file://3.2.23/0003-mwifiex-fix-11n-rx-packet-drop-issue.patch \
1497 file://3.2.23/0004-mwifiex-fix-WPS-eapol-handshake-failure.patch \
1498 file://3.2.23/0005-NFC-Prevent-multiple-buffer-overflows-in-NCI.patch \
1499 file://3.2.23/0006-ath9k-fix-dynamic-WEP-related-regression.patch \
1500 file://3.2.23/0007-NFC-Return-from-rawsock_release-when-sk-is-NULL.patch \
1501 file://3.2.23/0008-rtlwifi-rtl8192cu-New-USB-IDs.patch \
1502 file://3.2.23/0009-ath9k-enable-serialize_regmode-for-non-PCIE-AR9287.patch \
1503 file://3.2.23/0010-mac80211-correct-behaviour-on-unrecognised-action-fr.patch \
1504 file://3.2.23/0011-ASoC-tlv320aic3x-Fix-codec-pll-configure-bug.patch \
1505 file://3.2.23/0012-powerpc-xmon-Use-cpumask-iterator-to-avoid-warning.patch \
1506 file://3.2.23/0013-powerpc-kvm-sldi-should-be-sld.patch \
1507 file://3.2.23/0014-md-raid10-Don-t-try-to-recovery-unmatched-and-unused.patch \
1508 file://3.2.23/0015-md-raid5-Do-not-add-data_offset-before-call-to-is_ba.patch \
1509 file://3.2.23/0016-md-raid5-In-ops_run_io-inc-nr_pending-before-calling.patch \
1510 file://3.2.23/0017-md-raid10-fix-failure-when-trying-to-repair-a-read-e.patch \
1511 file://3.2.23/0018-drm-i915-kick-any-firmware-framebuffers-before-claim.patch \
1512 file://3.2.23/0019-dm-persistent-data-fix-shadow_info_leak-on-dm_tm_des.patch \
1513 file://3.2.23/0020-dm-persistent-data-handle-space-map-checker-creation.patch \
1514 file://3.2.23/0021-dm-persistent-data-fix-allocation-failure-in-space-m.patch \
1515 file://3.2.23/0022-ALSA-hda-Fix-power-map-regression-for-HP-dv6-co.patch \
1516 file://3.2.23/0023-tracing-change-CPU-ring-buffer-state-from-tracing_cp.patch \
1517 file://3.2.23/0024-mwifiex-fix-wrong-return-values-in-add_virtual_intf-.patch \
1518 file://3.2.23/0025-udf-Use-ret-instead-of-abusing-i-in-udf_load_logical.patch \
1519 file://3.2.23/0026-udf-Avoid-run-away-loop-when-partition-table-length-.patch \
1520 file://3.2.23/0027-udf-Fortify-loading-of-sparing-table.patch \
1521 file://3.2.23/0028-ARM-fix-rcu-stalls-on-SMP-platforms.patch \
1522 file://3.2.23/0029-net-sock-validate-data_len-before-allocating-skb-in-.patch \
1523 file://3.2.23/0030-cipso-handle-CIPSO-options-correctly-when-NetLabel-i.patch \
1524 file://3.2.23/0031-net-l2tp_eth-fix-kernel-panic-on-rmmod-l2tp_eth.patch \
1525 file://3.2.23/0032-l2tp-fix-a-race-in-l2tp_ip_sendmsg.patch \
1526 file://3.2.23/0033-sky2-fix-checksum-bit-management-on-some-chips.patch \
1527 file://3.2.23/0034-be2net-fix-a-race-in-be_xmit.patch \
1528 file://3.2.23/0035-dummy-fix-rcu_sched-self-detected-stalls.patch \
1529 file://3.2.23/0036-bonding-Fix-corrupted-queue_mapping.patch \
1530 file://3.2.23/0037-ethtool-allow-ETHTOOL_GSSET_INFO-for-users.patch \
1531 file://3.2.23/0038-netpoll-fix-netpoll_send_udp-bugs.patch \
1532 file://3.2.23/0039-ipv6-Move-ipv6-proc-file-registration-to-end-of-init.patch \
1533 file://3.2.23/0040-bridge-Assign-rtnl_link_ops-to-bridge-devices-create.patch \
1534 file://3.2.23/0041-Btrfs-run-delayed-directory-updates-during-log-repla.patch \
1535 file://3.2.23/0042-cifs-when-server-doesn-t-set-CAP_LARGE_READ_X-cap-de.patch \
1536 file://3.2.23/0043-ocfs2-clear-unaligned-io-flag-when-dio-fails.patch \
1537 file://3.2.23/0044-aio-make-kiocb-private-NUll-in-init_sync_kiocb.patch \
1538 file://3.2.23/0045-mtd-cafe_nand-fix-an-vs-mistake.patch \
1539 file://3.2.23/0046-mm-Hold-a-file-reference-in-madvise_remove.patch \
1540 file://3.2.23/0047-tcm_fc-Resolve-suspicious-RCU-usage-warnings.patch \
1541 file://3.2.23/0048-vfs-make-O_PATH-file-descriptors-usable-for-fchdir.patch \
1542 file://3.2.23/0049-Linux-3.2.23.patch \
1448 file://led/0001-leds-heartbeat-stop-on-shutdown-reboot-or-panic.patch \ 1543 file://led/0001-leds-heartbeat-stop-on-shutdown-reboot-or-panic.patch \
1449 file://libertas/0001-USB-convert-drivers-net-to-use-module_usb_driver.patch \ 1544 file://libertas/0001-USB-convert-drivers-net-to-use-module_usb_driver.patch \
1450 file://libertas/0002-net-fix-assignment-of-0-1-to-bool-variables.patch \ 1545 file://libertas/0002-net-fix-assignment-of-0-1-to-bool-variables.patch \
@@ -1530,18 +1625,19 @@ PATCHES_OVER_PSP = " \
1530 file://beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch \ 1625 file://beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch \
1531 file://beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch \ 1626 file://beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch \
1532 file://beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch \ 1627 file://beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch \
1533 file://beaglebone/0067-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch \ 1628 file://beaglebone/0066-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch \
1534 file://beaglebone/0068-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch \ 1629 file://beaglebone/0067-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch \
1535 file://beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch \ 1630 file://beaglebone/0068-beaglebone-add-support-for-LCD3-rev-A1.patch \
1536 file://beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch \ 1631 file://beaglebone/0069-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch \
1537 file://beaglebone/0071-beaglebone-fix-LCD3-led-key-overlap.patch \ 1632 file://beaglebone/0070-beaglebone-fix-LCD3-led-key-overlap.patch \
1538 file://beaglebone/0072-beaglebone-fix-audio-spi-clash.patch \ 1633 file://beaglebone/0071-beaglebone-fix-audio-spi-clash.patch \
1539 file://beaglebone/0073-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch \ 1634 file://beaglebone/0072-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch \
1540 file://beaglebone/0074-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch \ 1635 file://beaglebone/0073-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch \
1541 file://beaglebone/0075-beaglebone-disable-LBO-GPIO-for-battery-cape.patch \ 1636 file://beaglebone/0074-beaglebone-disable-LBO-GPIO-for-battery-cape.patch \
1542 file://beaglebone/0075-video-da8xx-fb-calculate-pixel-clock-period-for-the-.patch \ 1637 file://beaglebone/0075-video-da8xx-fb-calculate-pixel-clock-period-for-the-.patch \
1543 file://beaglebone/0076-beaglebone-improve-GPMC-bus-timings-for-camera-cape.patch \ 1638 file://beaglebone/0076-beaglebone-improve-GPMC-bus-timings-for-camera-cape.patch \
1544 file://beaglebone/0077-beaglebone-disable-UYVY-VYUY-and-YVYU-modes-in-camer.patch \ 1639 file://beaglebone/0077-beaglebone-disable-UYVY-VYUY-and-YVYU-modes-in-camer.patch \
1545 file://beaglebone/0078-beaglebone-error-handling-for-DMA-completion-in-cssp.patch \ 1640 file://beaglebone/0078-beaglebone-error-handling-for-DMA-completion-in-cssp.patch \
1546 file://beaglebone/0079-AM335X-errata-OPP50-on-MPU-domain-is-not-supported.patch \ 1641 file://beaglebone/0079-AM335X-errata-OPP50-on-MPU-domain-is-not-supported.patch \
1642 file://beaglebone/0080-vfs-Add-a-trace-point-in-the-mark_inode_dirty-functi.patch \
1547" 1643"