mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
This is the 4.14.349 OpenELA-Extended LTS stable release
-----BEGIN PGP SIGNATURE----- iQJNBAABCAA3FiEERFwmR4yFob14UDOYC8702P6YulgFAmaYMNYZHHZlZ2FyZC5u b3NzdW1Ab3JhY2xlLmNvbQAKCRALzvTY/pi6WI+2EACbJP/GYZL4iZezt3yp9J6y ObeobshL3ODENH9J4Rpjo7EJNdRbiJmqK07C6g3gxfEBqYhMDxYCBbhwTTvvHmu7 ezr1rmQmUlyzf2qW905a+rTawUrKztZpvZ0ycRXgfQHjX8w64salq/G5X9kJ1CZQ 0TYwhDXXYRc1yuhJkVH0+ZUP+FvSBYXY42QZQ8tRzviBKgHUqyQ2JiLN7yGXStSp PEOCeXuEsQxkzbFU1rG7J9KXfUYndih+fiGSvuUUZF6WTHNobfkh+nrGzsdadtUp UW9nEdHjjEhTpTr125uOGc3H2Y1rWVPrcZ9kvJBhzf4WKNBFu2v7Bc5i2/Yz/jKU 5cz7bjqpSnFOAmNe1f+pOO2oIsBk/xhAbMrPHS1eTJfUJmVL21HgDS3nXfV3yYcR 0cHH10HGf7DEx2PRh3DM53XzaiumOXY3e/eFt+syYFWtsPY0XKHjsfwLeoujCVgh Sb6yiV1HTNg2hkGck+CQKTvHKZhSs1uE+vGSHiSTpryrsXYCTRJySSXEdiU0QpeL c9xzRE0PrUaUKNucdimGr6EqvXL11M1I59Z3ygk8vyLGI13vSmkRZ9Sl7m0tbirA 0K1Ws2PkwuYQEOut8Esp6DJ2n38Uz3j0lnb2lreC0KbfXMvPWQfP81M1Lc+Pkpn6 Zgbbs68F6jYs0KV/iRty2A== =RvUO -----END PGP SIGNATURE----- Merge tag 'v4.14.349-openela' of https://github.com/openela/kernel-lts This is the 4.14.349 OpenELA-Extended LTS stable release * tag 'v4.14.349-openela' of https://github.com/openela/kernel-lts: (160 commits) LTS: Update to 4.14.349 x86/kvm: Disable all PV features on crash x86/kvm: Disable kvmclock on all CPUs on shutdown x86/kvm: Teardown PV features on boot CPU as well crypto: algif_aead - fix uninitialized ctx->init nfs: fix undefined behavior in nfs_block_bits() ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find() sparc: move struct termio to asm/termios.h kdb: Use format-specifiers rather than memset() for padding in kdb_read() kdb: Merge identical case statements in kdb_read() kdb: Fix console handling when editing and tab-completing commands kdb: Use format-strings rather than '\0' injection in kdb_read() kdb: Fix buffer overflow during tab-complete sparc64: Fix number of online CPUs intel_th: pci: Add Meteor Lake-S CPU support net/9p: fix uninit-value in p9_client_rpc() crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode netfilter: nft_dynset: relax superfluous check on set updates netfilter: nft_dynset: report EOPNOTSUPP on missing set feature ... Change-Id: Idb0053e6b2186ef17f31e15fdb601ae451c81283 Signed-off-by: Richard Raya <rdxzv.dev@gmail.com>
This commit is contained in:
commit
fad3b5236d
@ -1,5 +1,5 @@
|
||||
upstream_repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
|
||||
upstream_base: 4.19.304
|
||||
base: 4.14.336
|
||||
upstream_version: 4.19.315
|
||||
version: 4.14.348
|
||||
upstream_version: 4.19.316
|
||||
version: 4.14.349
|
||||
|
613
.elts/meta/4.14.349.yaml
Normal file
613
.elts/meta/4.14.349.yaml
Normal file
@ -0,0 +1,613 @@
|
||||
8bb6ee62c33b1f281b98b2dd19f1d7249a1ee5ab:
|
||||
title: 'speakup: Fix sizeof() vs ARRAY_SIZE() bug'
|
||||
mainline: 008ab3c53bc4f0b2f20013c8f6c204a3203d0b8b
|
||||
upstream: 42f0a3f67158ed6b2908d2b9ffbf7e96d23fd358
|
||||
a43f1f02b3a93c9a2da8ea92e4d6509d0a61ebd8:
|
||||
title: 'ring-buffer: Fix a race between readers and resize checks'
|
||||
mainline: c2274b908db05529980ec056359fae916939fdaa
|
||||
upstream: b50932ea673b5a089a4bb570a8a868d95c72854e
|
||||
39d470c1d65655756f7bc56eef30977466000040:
|
||||
title: 'nilfs2: fix unexpected freezing of nilfs_segctor_sync()'
|
||||
mainline: 936184eadd82906992ff1f5ab3aada70cce44cee
|
||||
upstream: 072980bc50626c4557694ce54e3f6f2bde02b6e0
|
||||
6696ef522ef729e48bb88e624f4b450cc48d0008:
|
||||
title: 'nilfs2: fix potential hang in nilfs_detach_log_writer()'
|
||||
mainline: eb85dace897c5986bc2f36b3c783c6abb8a4292e
|
||||
upstream: 911d38be151921a5d152bb55e81fd752384c6830
|
||||
478b032b9b295f6e4d224766b1d74f3f8d8015f5:
|
||||
title: 'tty: n_gsm: fix possible out-of-bounds in gsm0_receive()'
|
||||
mainline: 47388e807f85948eefc403a8a5fdc5b406a65d5a
|
||||
upstream: 9513d4148950b05bc99fa7314dc883cc0e1605e5
|
||||
0e454ea0aef962c0bc28aaec416c987c472ee16f:
|
||||
title: 'wifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class'
|
||||
mainline: 9ef369973cd2c97cce3388d2c0c7e3c056656e8a
|
||||
upstream: 5099e30dde0caffa9f0e2c41d7327fc3ed987fd5
|
||||
52bed87bdd7ff234fbf08cffb5805fec3753a574:
|
||||
title: 'net: usb: qmi_wwan: add Telit FN920C04 compositions'
|
||||
mainline: 0b8fe5bd73249dc20be2e88a12041f8920797b59
|
||||
upstream: 25468fffbbd2b0f06b4b12d79ff56cc5c40bfd1f
|
||||
1de2264213019b0e94512027fedda73173da635e:
|
||||
title: 'ASoC: rt5645: Fix the electric noise due to the CBJ contacts floating'
|
||||
mainline: 103abab975087e1f01b76fcb54c91dbb65dbc249
|
||||
upstream: 5c50d2e998143ce00c0629dcaabd73c3d962545c
|
||||
f5822a115c534c96bcde99428ab661088e193a09:
|
||||
title: 'ASoC: dt-bindings: rt5645: add cbj sleeve gpio property'
|
||||
mainline: 306b38e3fa727d22454a148a364123709e356600
|
||||
upstream: 5af06b6c57a9bbfa9bd5421e28bcd5c571c5821e
|
||||
6c8dd658875782d45f021c5015b9ec9bf5f5ff87:
|
||||
title: 'ASoC: da7219-aad: fix usage of device_get_named_child_node()'
|
||||
mainline: e8a6a5ad73acbafd98e8fd3f0cbf6e379771bb76
|
||||
upstream: 6d2d2aaae1faa64c2f803d6f11f4b2df3b3c2cff
|
||||
8355ba0b459240e847584f780402073b8236df46:
|
||||
title: 'crypto: bcm - Fix pointer arithmetic'
|
||||
mainline: 2b3460cbf454c6b03d7429e9ffc4fe09322eb1a9
|
||||
upstream: c256b616067bfd6d274c679c06986b78d2402434
|
||||
09020d6f62421e7fd4240279ff30dde78a0300bc:
|
||||
title: 'firmware: raspberrypi: Use correct device for DMA mappings'
|
||||
mainline: df518a0ae1b982a4dcf2235464016c0c4576a34d
|
||||
upstream: b7277844e7e367381b2377853afceb58427cf6fb
|
||||
78f8f3e6cf95446a03837bb11a67c4c2569ced32:
|
||||
title: 'ecryptfs: Fix buffer size for tag 66 packet'
|
||||
mainline: 85a6a1aff08ec9f5b929d345d066e2830e8818e5
|
||||
upstream: 1c125b9287e58f364d82174efb167414b92b11f1
|
||||
7ee6938a59b80751d7919f67a3c4fb585d3829f6:
|
||||
title: 'nilfs2: fix out-of-range warning'
|
||||
mainline: c473bcdd80d4ab2ae79a7a509a6712818366e32a
|
||||
upstream: 7610fd35b74211ab8def4e124095e600a1ae945b
|
||||
72d5387b60255610eb6fd5c18bb819fc39cc8917:
|
||||
title: 'parisc: add missing export of __cmpxchg_u8()'
|
||||
mainline: c57e5dccb06decf3cb6c272ab138c033727149b5
|
||||
upstream: 63d5a72afbd1505f180e81bc72e056ceea28b43b
|
||||
7eb7c75444aa358909836ea7ff4f692a53b199f9:
|
||||
title: 'crypto: ccp - Remove forward declaration'
|
||||
mainline: 3512dcb4e6c64733871202c01f0ec6b5d84d32ac
|
||||
upstream: 4b713a1581b17a94a21699165a20d82eb0eca2dc
|
||||
afb1d97ca2b2cdfa5f46e8eb9fc37934349bc34e:
|
||||
title: 'crypto: ccp - drop platform ifdef checks'
|
||||
mainline: 42c2d7d02977ef09d434b1f5b354f5bc6c1027ab
|
||||
upstream: ce8f89223c9552d18b118596a85fd6cc237bc0e9
|
||||
7375909839424727552bd0bb2022ca3db5c6ffe8:
|
||||
title: 'jffs2: prevent xattr node from overflowing the eraseblock'
|
||||
mainline: c6854e5a267c28300ff045480b5a7ee7f6f1d913
|
||||
upstream: 2904e1d9b64f72d291095e3cbb31634f08788b11
|
||||
a28a74b9a53b5b25cde8cfbea4c071f7a1c9beed:
|
||||
title: 'null_blk: Fix missing mutex_destroy() at module removal'
|
||||
mainline: 07d1b99825f40f9c0d93e6b99d79a08d0717bac1
|
||||
upstream: 54ee1f7e2ea06e5c5341dc54255881fa5d11b312
|
||||
520ccb81e3976c1c21d19d43265958faad0aee46:
|
||||
title: 'nfsd: drop st_mutex before calling move_to_close_lru()'
|
||||
mainline: 56c35f43eef013579c76c007ba1f386d8c2cac14
|
||||
upstream: 52d3370e8022ce28cd8cf4d16c09245aa683d7fb
|
||||
6faa6059493e8a857fe5c3b5e12a3ceec730cda3:
|
||||
title: 'wifi: ath10k: poll service ready message before failing'
|
||||
mainline: e57b7d62a1b2f496caf0beba81cec3c90fad80d5
|
||||
upstream: 54e3970b1848856e49f8cd08751dcb010ac3296b
|
||||
a2c3254bc18b8f7bea19a00d8e7ea4ec52e941c1:
|
||||
title: 'x86/boot: Ignore relocations in .notes sections in walk_relocs() too'
|
||||
mainline: 76e9762d66373354b45c33b60e9a53ef2a3c5ff2
|
||||
upstream: 2487db16d4b9faead07b7825d33294e9e783791d
|
||||
5b61b9cefdb45e69ab265050d603cdd30f3d089b:
|
||||
title: 'scsi: ufs: qcom: Perform read back after writing reset bit'
|
||||
mainline: c4d28e06b0c94636f6e35d003fa9ebac0a94e1ae
|
||||
upstream: e6bfc88b60f0874a00b22f243a94a5e8601d5039
|
||||
936e250e7ec6cb3bad3a8aa3a699a625e62cb5a6:
|
||||
title: 'scsi: ufs: core: Perform read back after disabling interrupts'
|
||||
mainline: e4a628877119bd40164a651d20321247b6f94a8b
|
||||
upstream: bf144a2e3b5048e5a9e3baf19f54d5e865d578b4
|
||||
c5a8d87d1f0792ab4f65cf240309a4effe22de01:
|
||||
title: 'scsi: ufs: core: Perform read back after disabling UIC_COMMAND_COMPL'
|
||||
mainline: 4bf3855497b60765ca03b983d064b25e99b97657
|
||||
upstream: 8dfd79c1c31660549a03439d42794c138efa5432
|
||||
94707145849c4be8019d4f7b2cce86402f9f9127:
|
||||
title: 'irqchip/alpine-msi: Fix off-by-one in allocation error path'
|
||||
mainline: ff3669a71afa06208de58d6bea1cc49d5e3fcbd1
|
||||
upstream: 4654dfa98682444152aac9bcef50e0d5e114a135
|
||||
96f2e9bb5b58c10a84e2a0064c7dc88cdcfff4d8:
|
||||
title: 'ACPI: disable -Wstringop-truncation'
|
||||
mainline: a3403d304708f60565582d60af4316289d0316a0
|
||||
upstream: 2e816914b5ba234c3815ca80bffd2f3b3a7de6b0
|
||||
8734c83b6dae36fbe4d97f42409e04459426858c:
|
||||
title: 'scsi: libsas: Fix the failure of adding phy with zero-address to port'
|
||||
mainline: 06036a0a5db34642c5dbe22021a767141f010b7a
|
||||
upstream: 2d8f31aa03df040c58a2e4a0382b96269c1bf96a
|
||||
784e2dc0d9be9b2e2ff8e3d05713f4d82895a489:
|
||||
title: 'scsi: hpsa: Fix allocation size for Scsi_Host private data'
|
||||
mainline: 504e2bed5d50610c1836046c0c195b0a6dba9c72
|
||||
upstream: 9fc44d44b3b8eadd8b797462c733eb6c63598e6f
|
||||
6541bba29a4584f20a372e98ca07659b1b971c3e:
|
||||
title: 'wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()'
|
||||
mainline: c511a9c12674d246916bb16c479d496b76983193
|
||||
upstream: 569da482fdec15251ff113462717182d85bd1665
|
||||
d85d76f39ef8f74c3ce4b2084bc1d56b90f808ce:
|
||||
title: 'macintosh/via-macii: Remove BUG_ON assertions'
|
||||
mainline: 5f93d7081a47e1972031ccf57c4b2779eee162fb
|
||||
upstream: 880897e8a5ade054a04575e5d8cc2666da415ab4
|
||||
cbe81c90b06ebd1a23367c8c594dbddac39d531c:
|
||||
title: 'm68k/mac: Add mutual exclusion for IOP interrupt polling'
|
||||
fad0ed0dd7bf14e6c89489e1db0486828e45f563:
|
||||
title: 'macintosh/via-macii, macintosh/adb-iop: Clean up whitespace'
|
||||
mainline: 47fd2060660e62b169990a6fcd9eb61bc1a85c5c
|
||||
upstream: d0aa752285c9a35ee1ae0f2a4da10c5ceb6c09b6
|
||||
82b5124ff8448c3b27d5cf963d835806a4ec8726:
|
||||
title: 'macintosh/via-macii: Fix "BUG: sleeping function called from invalid context"'
|
||||
mainline: d301a71c76ee4c384b4e03cdc320a55f5cf1df05
|
||||
upstream: e4ff8bcfb2841fe4e17e5901578b632adb89036d
|
||||
e6c959db704b9f17b53d0d695ac791ddb180649b:
|
||||
title: 'wifi: carl9170: add a proper sanity check for endpoints'
|
||||
mainline: b6dd09b3dac89b45d1ea3e3bd035a3859c0369a0
|
||||
upstream: eb0f2fc3ff5806cc572cd9055ce7c52a01e97645
|
||||
0e282a437be278b5a28b5de56553710ca304877a:
|
||||
title: 'wifi: ar5523: enable proper endpoint verification'
|
||||
mainline: e120b6388d7d88635d67dcae6483f39c37111850
|
||||
upstream: 79ddf5f2020fd593d50f1363bb5131283d74f78f
|
||||
08d55870d721795f5ca9affb641a9d77a5cde478:
|
||||
title: 'sh: kprobes: Merge arch_copy_kprobe() into arch_prepare_kprobe()'
|
||||
mainline: 1422ae080b66134fe192082d9b721ab7bd93fcc5
|
||||
upstream: 8ed15460d8bbc517bf54b24c7694e6c0ff174968
|
||||
3d986276f8b5fa0dc170e1b35f0659b9ba4b2cd0:
|
||||
title: 'Revert "sh: Handle calling csum_partial with misaligned data"'
|
||||
mainline: b5319c96292ff877f6b58d349acf0a9dc8d3b454
|
||||
upstream: 3c37203af733254154602273a970cfb7400c223e
|
||||
2461969d18d1b3a8ca40c5203819221813d2fa47:
|
||||
title: 'scsi: bfa: Ensure the copied buf is NUL terminated'
|
||||
mainline: 13d0cecb4626fae67c00c84d3c7851f6b62f7df3
|
||||
upstream: 481fc0c8617304a67649027c4a44723a139a0462
|
||||
c2d34a41a30021d6947d93dee2373e98416296b8:
|
||||
title: 'scsi: qedf: Ensure the copied buf is NUL terminated'
|
||||
mainline: d0184a375ee797eb657d74861ba0935b6e405c62
|
||||
upstream: 1f84a2744ad813be23fc4be99fb74bfb24aadb95
|
||||
ceee9c23ca78be8cbe0b677623554c14da4a8ffe:
|
||||
title: 'wifi: mwl8k: initialize cmd->addr[] properly'
|
||||
mainline: 1d60eabb82694e58543e2b6366dae3e7465892a5
|
||||
upstream: 6bc4e51e8d8451d40ec092d01119287af2acffcf
|
||||
2341a1b273189a5673cfbb6a5badecca8e25d24a:
|
||||
title: 'net: usb: sr9700: stop lying about skb->truesize'
|
||||
mainline: 05417aa9c0c038da2464a0c504b9d4f99814a23b
|
||||
upstream: c0aff9978bb6ead0aec382a2645a563a3dd2df38
|
||||
314fdca9aa1eac5417fd9621bf4ebbacfd100e75:
|
||||
title: 'm68k: Fix spinlock race in kernel thread creation'
|
||||
mainline: da89ce46f02470ef08f0f580755d14d547da59ed
|
||||
upstream: 2a8d1d95302c7d52c6ac8fa5cb4a6948ae0d3a14
|
||||
4e23b79c4b130dd3049e3c0001d4926dcfacded5:
|
||||
title: 'm68k/mac: Use ''030 reset method on SE/30'
|
||||
mainline: 9c0e91f6b701dce6902408d50c4df9cebe4744f5
|
||||
upstream: c96430d59c71a0e5c641b5267ccf141c501fe15e
|
||||
3d47f159d4991609f1a71bb15683f1b8cac8d2a8:
|
||||
title: 'm68k: mac: Fix reboot hang on Mac IIci'
|
||||
mainline: 265a3b322df9a973ff1fc63da70af456ab6ae1d6
|
||||
upstream: 8055e882c57031a5ca7fbf278796c19ded9f9d6f
|
||||
be1d9f0e9de4ae6b3c0baed5547aa84be06f6548:
|
||||
title: 'af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg'
|
||||
mainline: 540bf24fba16b88c1b3b9353927204b4f1074e25
|
||||
upstream: fca6072e1a7b1e709ada5604b951513b89b4bd0a
|
||||
16d0a15317ccdd42565ee3b0b4414f7134f414ba:
|
||||
title: 'net: usb: smsc95xx: stop lying about skb->truesize'
|
||||
mainline: d50729f1d60bca822ef6d9c1a5fb28d486bd7593
|
||||
upstream: 1010b50b2ebaaa863baeba7572267ac39bbb7adb
|
||||
d84c07f0a36edfbb017f66723aff19b75408ec6a:
|
||||
title: 'net: openvswitch: fix overwriting ct original tuple for ICMPv6'
|
||||
mainline: 7c988176b6c16c516474f6fceebe0f055af5eb56
|
||||
upstream: 6a51ac92bf35d34b4996d6eb67e2fe469f573b11
|
||||
e990bf08d73df105508439d775a40706fa34e4da:
|
||||
title: 'ipv6: sr: add missing seg6_local_exit'
|
||||
mainline: 3321687e321307629c71b664225b861ebf3e5753
|
||||
upstream: 9acb7ed4ff0e57b29326768aa8780f2ba2310090
|
||||
32cc76dc98c3a167b25dfe1548848036fc07d834:
|
||||
title: 'ipv6: sr: fix incorrect unregister order'
|
||||
mainline: 6e370a771d2985107e82d0f6174381c1acb49c20
|
||||
upstream: d55cf7ced48c5054a79829a0b14203710006a277
|
||||
a7eb748e89ec4c74a795fd32380019f21ae75895:
|
||||
title: 'ipv6: sr: fix invalid unregister error path'
|
||||
mainline: 160e9d2752181fcf18c662e74022d77d3164cd45
|
||||
upstream: 10610575a3ac2a702bf5c57aa931beaf847949c7
|
||||
73bc0203a1791e5252c190a016d46502406d53f0:
|
||||
title: 'mtd: rawnand: hynix: fixed typo'
|
||||
mainline: 6819db94e1cd3ce24a432f3616cd563ed0c4eaba
|
||||
upstream: 80850a39e2548988f4feae26f3fd66286b460278
|
||||
4ba8a5fa126c85d319a0f1c773a15c04dde7d74c:
|
||||
title: 'fbdev: shmobile: fix snprintf truncation'
|
||||
mainline: 26c8cfb9d1e4b252336d23dd5127a8cbed414a32
|
||||
upstream: f6100ea560ed320a397d99aad6ad6918f0f1a70a
|
||||
43f9acac76b1661328292b13c57936252536a7ee:
|
||||
title: 'drm/mediatek: Add 0 size check to mtk_drm_gem_obj'
|
||||
mainline: 1e4350095e8ab2577ee05f8c3b044e661b5af9a0
|
||||
upstream: 79078880795478d551a05acc41f957700030d364
|
||||
27a754ac9d1b146c6690b8cc566be4df02028430:
|
||||
title: 'powerpc/fsl-soc: hide unused const variable'
|
||||
mainline: 01acaf3aa75e1641442cc23d8fe0a7bb4226efb1
|
||||
upstream: b798cfeea12ebfd74c4bba511deb02956c97789e
|
||||
a36a6656bdcc519ee8206e91a484c9545e41c428:
|
||||
title: 'media: ngene: Add dvb_ca_en50221_init return value check'
|
||||
mainline: 9bb1fd7eddcab2d28cfc11eb20f1029154dac718
|
||||
upstream: 7394bab35c51cead246ef50d8c2e699e36032aed
|
||||
83fe7e17269e69bb85c5dcde3543fe69a7d14907:
|
||||
title: 'media: radio-shark2: Avoid led_names truncations'
|
||||
mainline: 1820e16a3019b6258e6009d34432946a6ddd0a90
|
||||
upstream: cbc12c9693fad0545fb0e753d78979026ae0772a
|
||||
d1bafe8dbdd69b5b94c648616261b10f89e9e634:
|
||||
title: 'fbdev: sh7760fb: allow modular build'
|
||||
mainline: 51084f89d687e14d96278241e5200cde4b0985c7
|
||||
upstream: 74bafc897cb6c83b29c66cb39e82936204a5e51f
|
||||
8b76f73f5124b83712d6cdcb3ef990263e40c5f0:
|
||||
title: 'ASoC: tracing: Export SND_SOC_DAPM_DIR_OUT to its value'
|
||||
mainline: 58300f8d6a48e58d1843199be743f819e2791ea3
|
||||
upstream: 60c68092723ea420215e9c3d5530038bc6568739
|
||||
e39747d5b28a334d3aa4a7d53db14f9f30390923:
|
||||
title: 'x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map'
|
||||
mainline: 59162e0c11d7257cde15f907d19fefe26da66692
|
||||
upstream: ef10bbdf4d59a98cf57ddf943756f14ef3cdbccd
|
||||
668cfe934e0081e60581269d5afab127489cdfda:
|
||||
title: 'ext4: avoid excessive credit estimate in ext4_tmpfile()'
|
||||
mainline: 35a1f12f0ca857fee1d7a04ef52cbd5f1f84de13
|
||||
upstream: 1f9e32f9ea3454f79d80c8af7fac54843beba7f6
|
||||
0f0c8dcfaaff549a0397d3e63ec093c2ff6d602d:
|
||||
title: 'selftests/kcmp: Make the test output consistent and clear'
|
||||
mainline: ff682226a353d88ffa5db9c2a9b945066776311e
|
||||
upstream: 32b0469d13ebeb008b39613eb5acf529a10e0bde
|
||||
eea262830c62f8856fed4c532b5598f83c2972a9:
|
||||
title: 'selftests/kcmp: remove unused open mode'
|
||||
mainline: eb59a58113717df04b8a8229befd8ab1e5dbf86e
|
||||
upstream: 24331545d6ff749a8dbfb09925af86e8cc50dad5
|
||||
b3ab7172b68826ae894b394561679727af8e970d:
|
||||
title: 'RDMA/ipoib: Fix use of sizeof()'
|
||||
183cb1a936e35c5ae205498945addd70a31a61e0:
|
||||
title: 'RDMA/IPoIB: Fix format truncation compilation errors'
|
||||
mainline: 49ca2b2ef3d003402584c68ae7b3055ba72e750a
|
||||
upstream: b469345f1fca84bed4dea3cae85faa401cf9bf3e
|
||||
08f41b353c1621f65bd6f61aa5f5aed2fc1feb11:
|
||||
title: 'netrom: fix possible dead-lock in nr_rt_ioctl()'
|
||||
mainline: e03e7f20ebf7e1611d40d1fdc1bde900fd3335f6
|
||||
upstream: b9d663fbf74290cb68fbc66ae4367bd56837ad1d
|
||||
79417a25cb5eb9644fe89e5aae703a6b591669d5:
|
||||
title: 'af_packet: do not call packet_read_pending() from tpacket_destruct_skb()'
|
||||
mainline: 581073f626e387d3e7eed55c48c8495584ead7ba
|
||||
upstream: 4f3ae7d846b4565c0b80d65ed607c3277bc984d4
|
||||
03baaba21b3291e6300e4fafb8d2849f0389de3d:
|
||||
title: 'sched/topology: Don''t set SD_BALANCE_WAKE on cpuset domain relax'
|
||||
mainline: 9ae7ab20b4835dbea0e5fc6a5c70171dc354a72e
|
||||
upstream: 046daa54c348ccec12ab38b92923060dd09ef00b
|
||||
cd212b4b364b6efe32441d764cabaef2402c8eba:
|
||||
title: 'sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level'
|
||||
mainline: a1fd0b9d751f840df23ef0e75b691fc00cfd4743
|
||||
upstream: 454de5ed81766fbbf4777c43392d8b0b35e7e16d
|
||||
8d680792eafdefb9e3e547a305a505da085932ff:
|
||||
title: 'greybus: lights: check return of get_channel_from_mode'
|
||||
mainline: a1ba19a1ae7cd1e324685ded4ab563e78fe68648
|
||||
upstream: 8f4a76d477f0cc3c54d512f07f6f88c8e1c1e07b
|
||||
0d0f766835c349005332fd8e7b296660a7d6a65a:
|
||||
title: 'dmaengine: idma64: Add check for dma_set_max_seg_size'
|
||||
mainline: 2b1c1cf08a0addb6df42f16b37133dc7a351de29
|
||||
upstream: 12c70cc851b263b8cc9479a23488992eeb4c35e6
|
||||
e9c8e448b86118386e2aed7e3bb0e02fdbb68d14:
|
||||
title: 'firmware: dmi-id: add a release callback function'
|
||||
mainline: cf770af5645a41a753c55a053fa1237105b0964a
|
||||
upstream: 20595142ca22ac2c8357564d9e7d52a0ffa471af
|
||||
bcbacbcfd59ba38747a001592ffb3aae1118e5de:
|
||||
title: 'serial: max3100: Lock port->lock when calling uart_handle_cts_change()'
|
||||
mainline: 77ab53371a2066fdf9b895246505f5ef5a4b5d47
|
||||
upstream: 44b38924135d2093e2ec1812969464845dd66dc9
|
||||
c6cf8b544d9ca71186322b2ede24e7ded577381a:
|
||||
title: 'serial: max3100: Update uart_driver_registered on driver removal'
|
||||
mainline: 712a1fcb38dc7cac6da63ee79a88708fbf9c45ec
|
||||
upstream: 21a61a7fbcfdd3493cede43ebc7c4dfae2147a8b
|
||||
647c442cedd75f319c8ce8dc039c2d7baec68317:
|
||||
title: 'serial: max3100: Fix bitwise types'
|
||||
mainline: e60955dbecb97f080848a57524827e2db29c70fd
|
||||
upstream: 2ae8d5726526c05452aff0444b0f305fdf89a32d
|
||||
89f965ae0a3f751235963e2597c63fd9ce035113:
|
||||
title: 'greybus: arche-ctrl: move device table to its right location'
|
||||
mainline: 6a0b8c0da8d8d418cde6894a104cf74e6098ddfa
|
||||
upstream: 22e65ed6799f2bfd059d633890d6c7ebe46abc9b
|
||||
0328af15e33a89109f97c8abcce2119896607fb4:
|
||||
title: 'usb: gadget: u_audio: Clear uac pointer when freed.'
|
||||
mainline: a2cf936ebef291ef7395172b9e2f624779fb6dc0
|
||||
upstream: a646645af00f65db78fe4a60f753f2b07df35b6e
|
||||
5bbc7d325cef8fbd593fd8e71f12343c47028be1:
|
||||
title: 'stm class: Fix a double free in stm_register_device()'
|
||||
mainline: 3df463865ba42b8f88a590326f4c9ea17a1ce459
|
||||
upstream: 6cc30ef8eb6d8f8d6df43152264bbf8835d99931
|
||||
16e15c7fd21ec24f98668e5a7bf28ef5c1a0fcaa:
|
||||
title: 'ppdev: Add an error check in register_device'
|
||||
mainline: fbf740aeb86a4fe82ad158d26d711f2f3be79b3e
|
||||
upstream: 65cd017d43f4319a56747d38308b0a24cf57299e
|
||||
d1e6203d776319b888b57b1176df438ee85e67f7:
|
||||
title: 'extcon: max8997: select IRQ_DOMAIN instead of depending on it'
|
||||
mainline: b1781d0a1458070d40134e4f3412ec9d70099bec
|
||||
upstream: b463819e3725b60c550145df952080b5d0fe85a7
|
||||
46dc390d5714351d5b798312f8edf666e327a1ef:
|
||||
title: 'f2fs: add error prints for debugging mount failure'
|
||||
mainline: 9227d5227b8db354d386f592f159eaa44db1c0b8
|
||||
upstream: 3506e1b893b5c2afa96922f36a01f018e4c4bbba
|
||||
3fa32fd0a2737a59698613854994f72051a6d4bb:
|
||||
title: 'libsubcmd: Fix parse-options memory leak'
|
||||
mainline: 230a7a71f92212e723fa435d4ca5922de33ec88a
|
||||
upstream: 3625187a973f16a3df59b803297816fe51d32400
|
||||
41c0d9061a68f5979e3244c26854cef37d91382b:
|
||||
title: 'Input: ims-pcu - fix printf string overflow'
|
||||
mainline: bf32bceedd0453c70d9d022e2e29f98e446d7161
|
||||
upstream: 502f295dcccf0ee7c4bddcf1ff2876987aaf89ca
|
||||
7dfc577218ae7aeeadc5bdffe5727d57337904ee:
|
||||
title: 'Input: pm8xxx-vibrator - correct VIB_MAX_LEVELS calculation'
|
||||
mainline: 48c0687a322d54ac7e7a685c0b6db78d78f593af
|
||||
upstream: fd4bb5284d34687c82356f07efe957af89ee51fe
|
||||
bb75c00bad0d04025b00991fe16db2fc0504ce58:
|
||||
title: 'um: Fix return value in ubd_init()'
|
||||
mainline: 31a5990ed253a66712d7ddc29c92d297a991fdf2
|
||||
upstream: d2640251f94078e1dcf0a26b1815601f6dbd5440
|
||||
330646466ce0f4978524457d109ac80ece62c547:
|
||||
title: 'um: Add winch to winch_handlers before registering winch IRQ'
|
||||
mainline: a0fbbd36c156b9f7b2276871d499c9943dfe5101
|
||||
upstream: 66ea9a7c6824821476914bed21a476cd20094f33
|
||||
b7d9420c157cdb207a95dfc4a40edd116dedf355:
|
||||
title: 'media: stk1160: fix bounds checking in stk1160_copy_video()'
|
||||
mainline: faa4364bef2ec0060de381ff028d1d836600a381
|
||||
upstream: f6a392266276730bea893b55d12940e32a25f56a
|
||||
cd05d6e21092d824ec4d37f39f7583310d0442fa:
|
||||
title: 'powerpc/pseries: Add failure related checks for h_get_mpp and h_get_ppp'
|
||||
mainline: 6d4341638516bf97b9a34947e0bd95035a8230a5
|
||||
upstream: f0f4cb4cc3f43324bab3b5541b27e79cbd15c8d1
|
||||
d6c506b111a38e5583e5bdd880cc0c04d7ef3948:
|
||||
title: 'um: Fix the -Wmissing-prototypes warning for __switch_mm'
|
||||
mainline: 2cbade17b18c0f0fd9963f26c9fc9b057eb1cb3a
|
||||
upstream: c08650c13bfc05794855480cc51075fdfcc388e0
|
||||
75fd6535ba80c0726e31004af666d80a0b9c3df8:
|
||||
title: 'media: cec: cec-api: add locking in cec_release()'
|
||||
mainline: 42bcaacae924bf18ae387c3f78c202df0b739292
|
||||
upstream: d2cfbc5298add5e0c6cfe8b343f73dfdf01c8b1c
|
||||
9da7f2b727fd54add9890e238847acf82d6807a1:
|
||||
title: 'null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()'
|
||||
mainline: 9e6727f824edcdb8fdd3e6e8a0862eb49546e1cd
|
||||
upstream: 7471d0be031ab830a0fa154437601cff98f7068b
|
||||
4e00769cc5020fde90269bdd1e5c24302b0ba6ce:
|
||||
title: 'x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y'
|
||||
mainline: 66ee3636eddcc82ab82b539d08b85fb5ac1dff9b
|
||||
upstream: 28a7a1f9571068bb2ddc8a11f0afe5dfa9863462
|
||||
3327ed68607e86e489af26305145830bf3f299a6:
|
||||
title: 'nfc: nci: Fix uninit-value in nci_rx_work'
|
||||
mainline: e4a87abf588536d1cdfb128595e6e680af5cf3ed
|
||||
upstream: 406cfac9debd4a6d3dc5d9258ee086372a8c08b6
|
||||
2d5acfc9e45f4597b931857dd92d2f29d2382ad7:
|
||||
title: 'ipv6: sr: fix memleak in seg6_hmac_init_algo'
|
||||
mainline: efb9f4f19f8e37fde43dfecebc80292d179f56c6
|
||||
upstream: afd5730969aec960a2fee4e5ee839a6014643976
|
||||
45e0b129726564750a58c06f1b4060b23f158960:
|
||||
title: 'params: lift param_set_uint_minmax to common code'
|
||||
mainline: 2a14c9ae15a38148484a128b84bff7e9ffd90d68
|
||||
upstream: 459de98d7a6b3d504b5e8664f32f59a306dd425c
|
||||
cf1096a1c8e1905df5e69949153c2598060457f0:
|
||||
title: 'tcp: Fix shift-out-of-bounds in dctcp_update_alpha().'
|
||||
mainline: 3ebc46ca8675de6378e3f8f40768e180bb8afa66
|
||||
upstream: 06d0fe049b51b0a92a70df8333fd85c4ba3eb2c6
|
||||
a629b0579dee6b041fdcad1859fa9f6a86da4ced:
|
||||
title: 'openvswitch: Set the skbuff pkt_type for proper pmtud support.'
|
||||
mainline: 30a92c9e3d6b073932762bef2ac66f4ee784c657
|
||||
upstream: 62a95de44a9bc006e01b0afa1b1e8868dc6de9d1
|
||||
0374a08aa5206c6200a88e0a122500dfd1d195f0:
|
||||
title: 'arm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY'
|
||||
mainline: ffbf4fb9b5c12ff878a10ea17997147ea4ebea6f
|
||||
upstream: f221bd58db0f6ca087ac0392284f6bce21f4f8ea
|
||||
63c5945dbfcb8b6f4c260aef57172893a15ebbb3:
|
||||
title: 'virtio: delete vq in vp_find_vqs_msix() when request_irq() fails'
|
||||
mainline: 89875151fccdd024d571aa884ea97a0128b968b6
|
||||
upstream: cb7a7c8144b434e06aba99b13b045a7efe859587
|
||||
273d17ed35348d5e6cabe23d9170c876f95f3946:
|
||||
title: 'net: fec: remove redundant variable ''inc'''
|
||||
76ff93a5ccf6378571ba77875039f77752ac8a33:
|
||||
title: 'net: fec: avoid lock evasion when reading pps_enable'
|
||||
mainline: 3b1c92f8e5371700fada307cc8fd2c51fa7bc8c1
|
||||
upstream: 4e4efb8f1b275e85c5c7f69087e392dbae437a8d
|
||||
3267e236cb890a2ff6450ba831f3ad66386d6c4b:
|
||||
title: 'nfc: nci: Fix kcov check in nci_rx_work()'
|
||||
mainline: 19e35f24750ddf860c51e51c68cf07ea181b4881
|
||||
upstream: c6c938ef515733a1c7af2c87dbc23138f402ba97
|
||||
1a7a9cc0bb2c966cb7edee4a47dc81053e9030d8:
|
||||
title: 'nfc: nci: Fix handling of zero-length payload packets in nci_rx_work()'
|
||||
mainline: 6671e352497ca4bb07a96c48e03907065ff77d8a
|
||||
upstream: 8f02d494cebae48dbd14c582ad4b36846e211b6a
|
||||
ac335a5fe30958ed4c81fac6b76e4b6c77f6f95d:
|
||||
title: 'netfilter: nfnetlink_queue: acquire rcu_read_lock() in instance_destroy_rcu()'
|
||||
mainline: dc21c6cc3d6986d938efbf95de62473982c98dec
|
||||
upstream: 8658bd777cbfcb0c13df23d0ea120e70517761b9
|
||||
0a359294f4d22e037ff38999b1fdaa688aab6e5f:
|
||||
title: 'spi: Don''t mark message DMA mapped when no transfer in it is'
|
||||
mainline: 9f788ba457b45b0ce422943fcec9fa35c4587764
|
||||
upstream: c7893975764ba3b7a58a186f63dae188f7eddb18
|
||||
5584ee5ae01187bdcb286738c27d8cecf7c2b92d:
|
||||
title: 'nvmet: fix ns enable/disable possible hang'
|
||||
mainline: f97914e35fd98b2b18fb8a092e0a0799f73afdfe
|
||||
upstream: 36a935c8785a9ca95b094440a0450cd56b90e70c
|
||||
d6e67757cebbeb5857838f51e2c514a3c9fc5557:
|
||||
title: 'net/mlx5e: Use rx_missed_errors instead of rx_dropped for reporting buffer exhaustion'
|
||||
mainline: 5c74195d5dd977e97556e6fa76909b831c241230
|
||||
upstream: 19f9b6cb94eebb4ef2a4a6bca0ef595039d73e04
|
||||
5beeab6917b9b59ab2c15744b190b3ad93c58687:
|
||||
title: 'dma-buf/sw-sync: don''t enable IRQ from sync_print_obj()'
|
||||
mainline: b794918961516f667b0c745aebdfebbb8a98df39
|
||||
upstream: 1ff116f68560a25656933d5a18e7619cb6773d8a
|
||||
3d00c58ac6d7f0fa0882aafb5b1ca2c3c22838eb:
|
||||
title: 'enic: Validate length of nl attributes in enic_set_vf_port'
|
||||
mainline: e8021b94b0412c37bcc79027c2e382086b6ce449
|
||||
upstream: 2b649d7e0cb42a660f0260ef25fd55fdc9c6c600
|
||||
d7936abfc24afa29d587b2bdd0829092dc478ebf:
|
||||
title: 'smsc95xx: remove redundant function arguments'
|
||||
mainline: 368be1ca28f66deba16627e2a02e78adedd023a6
|
||||
upstream: eced17c8715d43ce16f61c5a6a49299fbf37c0a0
|
||||
17ddb0fdf87c7f3f7c07e2721f688301411d2792:
|
||||
title: 'smsc95xx: use usbnet->driver_priv'
|
||||
mainline: ad90a73f0236c41f7a2dedc2e75c7b5a364eb93e
|
||||
upstream: bcc526fec891dee22162082b1beeb9068b9eabb0
|
||||
e0bd5cab3be56a1437e713a5411c458b80fa039c:
|
||||
title: 'net: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM'
|
||||
mainline: 52a2f0608366a629d43dacd3191039c95fef74ba
|
||||
upstream: 85b6bcf9d5e332aa9c4b7820cb3aa748c3df6a80
|
||||
4c2d953d579bbc6018f916d7474ca42a0ea2471f:
|
||||
title: 'net:fec: Add fec_enet_deinit()'
|
||||
mainline: bf0497f53c8535f99b72041529d3f7708a6e2c0d
|
||||
upstream: 416b0756721dcee2bb6227a4403e694011c32874
|
||||
c00f30ffce7c99732b9610771908b84af2f7e95a:
|
||||
title: 'kconfig: fix comparison to constant symbols, ''m'', ''n'''
|
||||
mainline: aabdc960a283ba78086b0bf66ee74326f49e218e
|
||||
upstream: 6bfda3ef7f6a2c1de30e70d67e901aa966f40c17
|
||||
59e5a44b8b298cec43305d8ba650673094448b28:
|
||||
title: 'net: add DEV_STATS_READ() helper'
|
||||
mainline: 0b068c714ca9479d2783cc333fff5bc2d4a6d45c
|
||||
f18d1f1dd0f85682cce01581ea7c2596d0d35ead:
|
||||
title: 'ipvlan: properly track tx_errors'
|
||||
mainline: ff672b9ffeb3f82135488ac16c5c5eb4b992999b
|
||||
41e5da22e02a94825b061ad86f10c9d6955727fd:
|
||||
title: 'ipvlan: add ipvlan_route_v6_outbound() helper'
|
||||
mainline: 18f039428c7df183b09c69ebf10ffd4e521035d2
|
||||
3a016fed8503f04152b170bc324fd7fbbfb155e4:
|
||||
title: 'ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound'
|
||||
mainline: b3dc6e8003b500861fa307e9a3400c52e78e4d3a
|
||||
upstream: 0049a623dfbbb49888de7f0c2f33a582b5ead989
|
||||
24212e46bb2a25ec7c7ef9c45a40670608a3a0f8:
|
||||
title: 'ALSA: timer: Simplify timer hw resolution calls'
|
||||
804b59ac965568b4ac7b1788ba8b3b324e362693:
|
||||
title: 'ALSA: timer: Set lower bound of start tick time'
|
||||
mainline: 4a63bd179fa8d3fcc44a0d9d71d941ddd62f0c4e
|
||||
upstream: 68396c825c43664b20a3a1ba546844deb2b4e48f
|
||||
f642f364e2b4e4302e6b41f1583603a9be83baef:
|
||||
title: 'binder: fix max_thread type inconsistency'
|
||||
mainline: 42316941335644a98335f209daafa4c122f28983
|
||||
upstream: c437184be3c16f7123e5c59b4c85c1101f4dc96b
|
||||
5584cc5bd6c850f9738f7b249be3d298f0012a16:
|
||||
title: 'mmc: core: Do not force a retune before RPMB switch'
|
||||
mainline: 67380251e8bbd3302c64fea07f95c31971b91c22
|
||||
upstream: bda1d354bef71be32aaf2c5e6b96eef854b3dd4e
|
||||
042d63a09767b3d6d006fc867d77cf610bfcdebf:
|
||||
title: 'fs/nilfs2: convert timers to use timer_setup()'
|
||||
705fabd9032429d644eee84edc1d45f740edcc81:
|
||||
title: 'nilfs2: fix use-after-free of timer for log writer thread'
|
||||
mainline: f5d4e04634c9cf68bdf23de08ada0bb92e8befe7
|
||||
upstream: 822ae5a8eac30478578a75f7e064f0584931bf2d
|
||||
7e6f3eaf97955faec6cf408b6404a35cf2c82ea0:
|
||||
title: 'vxlan: Fix regression when dropping packets due to invalid src addresses'
|
||||
mainline: 1cd4bc987abb2823836cbb8f887026011ccddc8a
|
||||
upstream: f6141cbc2b5af521b1711e95363302b858a38729
|
||||
34358bf261de42b079db6cbd5ae3b074282cd00f:
|
||||
title: 'neighbour: fix unaligned access to pneigh_entry'
|
||||
mainline: ed779fe4c9b5a20b4ab4fd6f3e19807445bb78c7
|
||||
upstream: f451d1a013fd585cbf70a65ca6b9cf3548bb039f
|
||||
792524d8e1b344cedcb40983a8756d4793a22e9e:
|
||||
title: 'ata: pata_legacy: make legacy_exit() work again'
|
||||
mainline: d4a89339f17c87c4990070e9116462d16e75894f
|
||||
upstream: 21604179f67bd484790c296565bdc38f7a40fe35
|
||||
aa9c43942fc69f5e652d6b4f68e0e2bf75868c7e:
|
||||
title: 'arm64: tegra: Correct Tegra132 I2C alias'
|
||||
mainline: 2633c58e1354d7de2c8e7be8bdb6f68a0a01bad7
|
||||
upstream: 40f76e72ec0ebe27dcff9bfd5de8e65e1a2b8939
|
||||
d7263704edf4ee2783b116f64f407752d5b2f2bf:
|
||||
title: 'md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING'
|
||||
mainline: 151f66bb618d1fd0eeb84acb61b4a9fa5d8bb0fa
|
||||
upstream: b32aa95843cac6b12c2c014d40fca18aef24a347
|
||||
964fdd7feb56e40a55b89328877b0a7103bb4084:
|
||||
title: 'arm64: dts: hi3798cv200: fix the size of GICR'
|
||||
mainline: 428a575dc9038846ad259466d5ba109858c0a023
|
||||
upstream: 26e62b983a31b304733fb21f4b576a4a1e171297
|
||||
35d3fa1859980a84c64c51b04a2ac57ffe5af109:
|
||||
title: 'media: mxl5xx: Move xpt structures off stack'
|
||||
mainline: 526f4527545b2d4ce0733733929fac7b6da09ac6
|
||||
upstream: 772f5e31ed2d6bc5e8698394e4d13b298060c74a
|
||||
2046df24d6472a520a62d52a72d84d180b3e363c:
|
||||
title: 'media: v4l2-core: hold videodev_lock until dev reg, finishes'
|
||||
mainline: 1ed4477f2ea4743e7c5e1f9f3722152d14e6eeb1
|
||||
upstream: 1ea3de272f5cc7603610b96316f9ed07bec6c2d0
|
||||
293140832f7230044b5f6888d0110714f51b554f:
|
||||
title: 'fbdev: savage: Handle err return when savagefb_check_var failed'
|
||||
mainline: 6ad959b6703e2c4c5d7af03b4cfd5ff608036339
|
||||
upstream: be754cbd77eaf2932408a4e18532e4945274a5c7
|
||||
832e81e147209b23bc09678738383b7bc258b448:
|
||||
title: 'netfilter: nf_tables: add nft_set_is_anonymous() helper'
|
||||
05084047e524051c0ea37f6b3183017d783e6e20:
|
||||
title: 'netfilter: nf_tables: fix set double-free in abort path'
|
||||
mainline: 40ba1d9b4d19796afc9b7ece872f5f3e8f5e2c13
|
||||
c4af59f2d8336214168c4e0778a1a0a62afcbdc4:
|
||||
title: 'netfilter: nf_tables: pass context to nft_set_destroy()'
|
||||
mainline: 0c2a85edd143162b3a698f31e94bf8cdc041da87
|
||||
upstream: 525561faa075cb49905783fd3e4e16b66b218846
|
||||
b42c75cd69307b546b719cc59fb421a7c80a980f:
|
||||
title: 'netfilter: nftables: rename set element data activation/deactivation functions'
|
||||
mainline: f8bb7889af58d8e74d2d61c76b1418230f1610fa
|
||||
upstream: 68b10f33a37e942bdc06b9cb313ad4e1b1f612e8
|
||||
e4382ad0d81a0f37c3d430a3009f597568a949a4:
|
||||
title: 'netfilter: nf_tables: pass ctx to nf_tables_expr_destroy()'
|
||||
50bfcb0af95ae860d93c151604451b9a10af6e06:
|
||||
title: 'netfilter: nf_tables: drop map element references from preparation phase'
|
||||
mainline: 628bd3e49cba1c066228e23d71a852c23e26da73
|
||||
upstream: bc9f791d2593f17e39f87c6e2b3a36549a3705b1
|
||||
4538b02484e4c2d0c016ca190c5219fd97f932fb:
|
||||
title: 'netfilter: nf_tables: don''t skip expired elements during walk'
|
||||
mainline: 24138933b97b055d486e8064b4a1721702442a9b
|
||||
upstream: 94313a196b44184b5b52c1876da6a537701b425a
|
||||
ea71b10a3d18e5589f44b836a83003a6e741d6bb:
|
||||
title: 'netfilter: nft_dynset: report EOPNOTSUPP on missing set feature'
|
||||
mainline: 95cd4bca7b1f4a25810f3ddfc5e767fb46931789
|
||||
upstream: c5c4746c8cd6d049dcbf39c811172c917ea6fb6e
|
||||
fa8b9918795f9be7f4ca95f5440acff86fe946db:
|
||||
title: 'netfilter: nft_dynset: relax superfluous check on set updates'
|
||||
mainline: 7b1394892de8d95748d05e3ee41e85edb4abbfa1
|
||||
upstream: 79e98cd78610560a6a6cf85200eb31331602f9a9
|
||||
6658c1ef0cb35d3d594507db800cb44a54db4f75:
|
||||
title: 'KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode'
|
||||
mainline: dfe6d190f38fc5df5ff2614b463a5195a399c885
|
||||
upstream: 3c9ee8294728633e707c25fe0a321eeac1cc7515
|
||||
9d5b95ce1488266fd3dc3951da6c8ce25c366ada:
|
||||
title: 'crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak'
|
||||
mainline: d3b17c6d9dddc2db3670bc9be628b122416a3d26
|
||||
upstream: 0ce5964b82f212f4df6a9813f09a0b5de15bd9c8
|
||||
9a9a74f4cdb1295a5a854d2ca6cb87fc19048ef3:
|
||||
title: 'net/9p: fix uninit-value in p9_client_rpc()'
|
||||
mainline: 25460d6f39024cc3b8241b14c7ccf0d6f11a736a
|
||||
upstream: 72c5d8e416ecc46af370a1340b3db5ff0b0cc867
|
||||
471ea347bb7d4b16dd62a6642efb111fa36f2da7:
|
||||
title: 'intel_th: pci: Add Meteor Lake-S CPU support'
|
||||
mainline: a4f813c3ec9d1c32bc402becd1f011b3904dd699
|
||||
upstream: 58c0309c73fe1e9c477ed4cc5d02fc9015336979
|
||||
9f2edbc910b189e46e7ca3d17680e36fde63276d:
|
||||
title: 'sparc64: Fix number of online CPUs'
|
||||
mainline: 98937707fea8375e8acea0aaa0b68a956dd52719
|
||||
upstream: 180b2e4c1ba4f6e3e4c52d6664cb019f6eac02f8
|
||||
f751d9a9f3d6c01908cf9bc9d966a35ecc1a2f64:
|
||||
title: 'kdb: Fix buffer overflow during tab-complete'
|
||||
mainline: e9730744bf3af04cda23799029342aa3cddbc454
|
||||
upstream: fb824a99e148ff272a53d71d84122728b5f00992
|
||||
f990953b6d8d752849e6f682628d4632f051b7de:
|
||||
title: 'kdb: Use format-strings rather than ''\0'' injection in kdb_read()'
|
||||
mainline: 09b35989421dfd5573f0b4683c7700a7483c71f9
|
||||
upstream: 4edfbbaca46491b06af14e49dcb79ac661d0bbdc
|
||||
fc2a098bc09c4f9968c93222902d72f518ec6953:
|
||||
title: 'kdb: Fix console handling when editing and tab-completing commands'
|
||||
mainline: db2f9c7dc29114f531df4a425d0867d01e1f1e28
|
||||
upstream: 21c068c1bbb4c336741749596d004b1965faab2c
|
||||
201f3d45deb9bcf1046483d72642d8457976c7a9:
|
||||
title: 'kdb: Merge identical case statements in kdb_read()'
|
||||
mainline: 6244917f377bf64719551b58592a02a0336a7439
|
||||
upstream: 4a89182788f9af9a290c19098382fb972ebe2783
|
||||
c89fb4fb7559ec8e3f74ecbc29ef856a47cc85d4:
|
||||
title: 'kdb: Use format-specifiers rather than memset() for padding in kdb_read()'
|
||||
mainline: c9b51ddb66b1d96e4d364c088da0f1dfb004c574
|
||||
upstream: 2467f3f182eb35627534effd4956fceb2504c127
|
||||
212ca5dd4286a76808254db293bd898a062b56e3:
|
||||
title: 'sparc: move struct termio to asm/termios.h'
|
||||
mainline: c32d18e7942d7589b62e301eb426b32623366565
|
||||
upstream: 980a1cd6e092eab9398a78f517809a7dacaa0468
|
||||
199f7d837409f78087fde12a33c486d4d866c16e:
|
||||
title: 'ext4: fix mb_cache_entry''s e_refcnt leak in ext4_xattr_block_cache_find()'
|
||||
mainline: 0c0b4a49d3e7f49690a6827a41faeffad5df7e21
|
||||
upstream: 9ad75e78747b5a50dc5a52f0f8e92e920a653f16
|
||||
593e234893f02097b207840c7c31b4d91b64ca14:
|
||||
title: 'nfs: fix undefined behavior in nfs_block_bits()'
|
||||
mainline: 3c0a2e0b0ae661457c8505fecc7be5501aa7a715
|
||||
upstream: 74ea538aa24490d7d259c881189bb58dbf1f692c
|
||||
aa4a1101113a8425c065d44e33c636cad583327d:
|
||||
title: 'crypto: algif_aead - fix uninitialized ctx->init'
|
||||
8949bc46fedc763c195c9a72f69abb9405cac9dc:
|
||||
title: 'x86/kvm: Teardown PV features on boot CPU as well'
|
||||
mainline: 8b79feffeca28c5459458fe78676b081e87c93a4
|
||||
227178f3eba56c465bdd554e9786a0699bbf40d4:
|
||||
title: 'x86/kvm: Disable kvmclock on all CPUs on shutdown'
|
||||
mainline: c02027b5742b5aa804ef08a4a9db433295533046
|
||||
f07e26ece43c2b61389d2a56226ea19d3bd40c57:
|
||||
title: 'x86/kvm: Disable all PV features on crash'
|
||||
mainline: 3d6b84132d2a57b5a74100f6923a8feb679ac2ce
|
830
.elts/upstream/4.19.316.yaml
Normal file
830
.elts/upstream/4.19.316.yaml
Normal file
@ -0,0 +1,830 @@
|
||||
bfaadbda9b75e4726783f8ca55ceac1fedbf2deb:
|
||||
title: 'x86/tsc: Trust initial offset in architectural TSC-adjust MSRs'
|
||||
mainline: 455f9075f14484f358b3c1d6845b4a438de198a7
|
||||
skipped: commit did not cherry-pick cleanly
|
||||
42f0a3f67158ed6b2908d2b9ffbf7e96d23fd358:
|
||||
title: 'speakup: Fix sizeof() vs ARRAY_SIZE() bug'
|
||||
mainline: 008ab3c53bc4f0b2f20013c8f6c204a3203d0b8b
|
||||
backport: 8bb6ee62c33b1f281b98b2dd19f1d7249a1ee5ab
|
||||
b50932ea673b5a089a4bb570a8a868d95c72854e:
|
||||
title: 'ring-buffer: Fix a race between readers and resize checks'
|
||||
mainline: c2274b908db05529980ec056359fae916939fdaa
|
||||
backport: a43f1f02b3a93c9a2da8ea92e4d6509d0a61ebd8
|
||||
0ca720bd1834c4577426d1fb5a75faa19aa089bf:
|
||||
title: 'net: smc91x: Fix m68k kernel compilation for ColdFire CPU'
|
||||
mainline: 5eefb477d21a26183bc3499aeefa991198315a2d
|
||||
skipped: fixes patch not in branch
|
||||
072980bc50626c4557694ce54e3f6f2bde02b6e0:
|
||||
title: 'nilfs2: fix unexpected freezing of nilfs_segctor_sync()'
|
||||
mainline: 936184eadd82906992ff1f5ab3aada70cce44cee
|
||||
backport: 39d470c1d65655756f7bc56eef30977466000040
|
||||
911d38be151921a5d152bb55e81fd752384c6830:
|
||||
title: 'nilfs2: fix potential hang in nilfs_detach_log_writer()'
|
||||
mainline: eb85dace897c5986bc2f36b3c783c6abb8a4292e
|
||||
backport: 6696ef522ef729e48bb88e624f4b450cc48d0008
|
||||
9513d4148950b05bc99fa7314dc883cc0e1605e5:
|
||||
title: 'tty: n_gsm: fix possible out-of-bounds in gsm0_receive()'
|
||||
mainline: 47388e807f85948eefc403a8a5fdc5b406a65d5a
|
||||
backport: 478b032b9b295f6e4d224766b1d74f3f8d8015f5
|
||||
5099e30dde0caffa9f0e2c41d7327fc3ed987fd5:
|
||||
title: 'wifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class'
|
||||
mainline: 9ef369973cd2c97cce3388d2c0c7e3c056656e8a
|
||||
backport: 0e454ea0aef962c0bc28aaec416c987c472ee16f
|
||||
25468fffbbd2b0f06b4b12d79ff56cc5c40bfd1f:
|
||||
title: 'net: usb: qmi_wwan: add Telit FN920C04 compositions'
|
||||
mainline: 0b8fe5bd73249dc20be2e88a12041f8920797b59
|
||||
backport: 52bed87bdd7ff234fbf08cffb5805fec3753a574
|
||||
074218a00cf59abff526b79dcd34d461ce81ae4c:
|
||||
title: 'drm/amd/display: Set color_mgmt_changed to true on unsuspend'
|
||||
mainline: 2eb9dd497a698dc384c0dd3e0311d541eb2e13dd
|
||||
skipped: file is not in 4.14.y
|
||||
5c50d2e998143ce00c0629dcaabd73c3d962545c:
|
||||
title: 'ASoC: rt5645: Fix the electric noise due to the CBJ contacts floating'
|
||||
mainline: 103abab975087e1f01b76fcb54c91dbb65dbc249
|
||||
backport: 1de2264213019b0e94512027fedda73173da635e
|
||||
5af06b6c57a9bbfa9bd5421e28bcd5c571c5821e:
|
||||
title: 'ASoC: dt-bindings: rt5645: add cbj sleeve gpio property'
|
||||
mainline: 306b38e3fa727d22454a148a364123709e356600
|
||||
backport: f5822a115c534c96bcde99428ab661088e193a09
|
||||
6d2d2aaae1faa64c2f803d6f11f4b2df3b3c2cff:
|
||||
title: 'ASoC: da7219-aad: fix usage of device_get_named_child_node()'
|
||||
mainline: e8a6a5ad73acbafd98e8fd3f0cbf6e379771bb76
|
||||
backport: 6c8dd658875782d45f021c5015b9ec9bf5f5ff87
|
||||
c256b616067bfd6d274c679c06986b78d2402434:
|
||||
title: 'crypto: bcm - Fix pointer arithmetic'
|
||||
mainline: 2b3460cbf454c6b03d7429e9ffc4fe09322eb1a9
|
||||
backport: 8355ba0b459240e847584f780402073b8236df46
|
||||
b7277844e7e367381b2377853afceb58427cf6fb:
|
||||
title: 'firmware: raspberrypi: Use correct device for DMA mappings'
|
||||
mainline: df518a0ae1b982a4dcf2235464016c0c4576a34d
|
||||
backport: 09020d6f62421e7fd4240279ff30dde78a0300bc
|
||||
1c125b9287e58f364d82174efb167414b92b11f1:
|
||||
title: 'ecryptfs: Fix buffer size for tag 66 packet'
|
||||
mainline: 85a6a1aff08ec9f5b929d345d066e2830e8818e5
|
||||
backport: 78f8f3e6cf95446a03837bb11a67c4c2569ced32
|
||||
7610fd35b74211ab8def4e124095e600a1ae945b:
|
||||
title: 'nilfs2: fix out-of-range warning'
|
||||
mainline: c473bcdd80d4ab2ae79a7a509a6712818366e32a
|
||||
backport: 7ee6938a59b80751d7919f67a3c4fb585d3829f6
|
||||
63d5a72afbd1505f180e81bc72e056ceea28b43b:
|
||||
title: 'parisc: add missing export of __cmpxchg_u8()'
|
||||
mainline: c57e5dccb06decf3cb6c272ab138c033727149b5
|
||||
backport: 72d5387b60255610eb6fd5c18bb819fc39cc8917
|
||||
4b713a1581b17a94a21699165a20d82eb0eca2dc:
|
||||
title: 'crypto: ccp - Remove forward declaration'
|
||||
mainline: 3512dcb4e6c64733871202c01f0ec6b5d84d32ac
|
||||
backport: 7eb7c75444aa358909836ea7ff4f692a53b199f9
|
||||
ce8f89223c9552d18b118596a85fd6cc237bc0e9:
|
||||
title: 'crypto: ccp - drop platform ifdef checks'
|
||||
mainline: 42c2d7d02977ef09d434b1f5b354f5bc6c1027ab
|
||||
backport: afb1d97ca2b2cdfa5f46e8eb9fc37934349bc34e
|
||||
77edda3c53d696fa30fa0352e18aad485716ffad:
|
||||
title: 's390/cio: fix tracepoint subchannel type field'
|
||||
mainline: 8692a24d0fae19f674d51726d179ad04ba95d958
|
||||
skipped: fixes patch not in branch
|
||||
2904e1d9b64f72d291095e3cbb31634f08788b11:
|
||||
title: 'jffs2: prevent xattr node from overflowing the eraseblock'
|
||||
mainline: c6854e5a267c28300ff045480b5a7ee7f6f1d913
|
||||
backport: 7375909839424727552bd0bb2022ca3db5c6ffe8
|
||||
54ee1f7e2ea06e5c5341dc54255881fa5d11b312:
|
||||
title: 'null_blk: Fix missing mutex_destroy() at module removal'
|
||||
mainline: 07d1b99825f40f9c0d93e6b99d79a08d0717bac1
|
||||
backport: a28a74b9a53b5b25cde8cfbea4c071f7a1c9beed
|
||||
d4b9c764d48fa41caa24cfb4275f3aa9fb4bd798:
|
||||
title: 'md: fix resync softlockup when bitmap size is less than array size'
|
||||
mainline: f0e729af2eb6bee9eb58c4df1087f14ebaefe26b
|
||||
skipped: fixes patch not in branch
|
||||
eb984e08100e42c20f05e425590ee1e78e092b9d:
|
||||
title: 'power: supply: cros_usbpd: provide ID table for avoiding fallback match'
|
||||
mainline: 0f8678c34cbfdc63569a9b0ede1fe235ec6ec693
|
||||
skipped: file is not in 4.14.y
|
||||
52d3370e8022ce28cd8cf4d16c09245aa683d7fb:
|
||||
title: 'nfsd: drop st_mutex before calling move_to_close_lru()'
|
||||
mainline: 56c35f43eef013579c76c007ba1f386d8c2cac14
|
||||
backport: 520ccb81e3976c1c21d19d43265958faad0aee46
|
||||
54e3970b1848856e49f8cd08751dcb010ac3296b:
|
||||
title: 'wifi: ath10k: poll service ready message before failing'
|
||||
mainline: e57b7d62a1b2f496caf0beba81cec3c90fad80d5
|
||||
backport: 6faa6059493e8a857fe5c3b5e12a3ceec730cda3
|
||||
2487db16d4b9faead07b7825d33294e9e783791d:
|
||||
title: 'x86/boot: Ignore relocations in .notes sections in walk_relocs() too'
|
||||
mainline: 76e9762d66373354b45c33b60e9a53ef2a3c5ff2
|
||||
backport: a2c3254bc18b8f7bea19a00d8e7ea4ec52e941c1
|
||||
6780fe28e415c84f81ee7fc30027e57105f0b136:
|
||||
title: 'qed: avoid truncating work queue length'
|
||||
mainline: 954fd908f177604d4cce77e2a88cc50b29bad5ff
|
||||
skipped: fixes patch not in branch
|
||||
e6bfc88b60f0874a00b22f243a94a5e8601d5039:
|
||||
title: 'scsi: ufs: qcom: Perform read back after writing reset bit'
|
||||
mainline: c4d28e06b0c94636f6e35d003fa9ebac0a94e1ae
|
||||
backport: 5b61b9cefdb45e69ab265050d603cdd30f3d089b
|
||||
ea2cebd3b66bffa2630e413553776a4dbdca641a:
|
||||
title: 'scsi: ufs: cleanup struct utp_task_req_desc'
|
||||
mainline: 391e388f853dad5d1d7462a31bb50ff2446e37f0
|
||||
skipped: commit did not cherry-pick cleanly
|
||||
359975cbf2551e40130cc604e2753f65585b68d0:
|
||||
title: 'scsi: ufs: add a low-level __ufshcd_issue_tm_cmd helper'
|
||||
mainline: c6049cd98212dfe39f67fb411d18d53df0ad9436
|
||||
skipped: commit did not cherry-pick cleanly
|
||||
bf144a2e3b5048e5a9e3baf19f54d5e865d578b4:
|
||||
title: 'scsi: ufs: core: Perform read back after disabling interrupts'
|
||||
mainline: e4a628877119bd40164a651d20321247b6f94a8b
|
||||
backport: 936e250e7ec6cb3bad3a8aa3a699a625e62cb5a6
|
||||
8dfd79c1c31660549a03439d42794c138efa5432:
|
||||
title: 'scsi: ufs: core: Perform read back after disabling UIC_COMMAND_COMPL'
|
||||
mainline: 4bf3855497b60765ca03b983d064b25e99b97657
|
||||
backport: c5a8d87d1f0792ab4f65cf240309a4effe22de01
|
||||
4654dfa98682444152aac9bcef50e0d5e114a135:
|
||||
title: 'irqchip/alpine-msi: Fix off-by-one in allocation error path'
|
||||
mainline: ff3669a71afa06208de58d6bea1cc49d5e3fcbd1
|
||||
backport: 94707145849c4be8019d4f7b2cce86402f9f9127
|
||||
2e816914b5ba234c3815ca80bffd2f3b3a7de6b0:
|
||||
title: 'ACPI: disable -Wstringop-truncation'
|
||||
mainline: a3403d304708f60565582d60af4316289d0316a0
|
||||
backport: 96f2e9bb5b58c10a84e2a0064c7dc88cdcfff4d8
|
||||
2d8f31aa03df040c58a2e4a0382b96269c1bf96a:
|
||||
title: 'scsi: libsas: Fix the failure of adding phy with zero-address to port'
|
||||
mainline: 06036a0a5db34642c5dbe22021a767141f010b7a
|
||||
backport: 8734c83b6dae36fbe4d97f42409e04459426858c
|
||||
9fc44d44b3b8eadd8b797462c733eb6c63598e6f:
|
||||
title: 'scsi: hpsa: Fix allocation size for Scsi_Host private data'
|
||||
mainline: 504e2bed5d50610c1836046c0c195b0a6dba9c72
|
||||
backport: 784e2dc0d9be9b2e2ff8e3d05713f4d82895a489
|
||||
8b434681a6e7b2cae1452f1932d59c069236e9d2:
|
||||
title: 'x86/purgatory: Switch to the position-independent small code model'
|
||||
mainline: cba786af84a0f9716204e09f518ce3b7ada8555e
|
||||
skipped: fixes patch not in branch
|
||||
569da482fdec15251ff113462717182d85bd1665:
|
||||
title: 'wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()'
|
||||
mainline: c511a9c12674d246916bb16c479d496b76983193
|
||||
backport: 6541bba29a4584f20a372e98ca07659b1b971c3e
|
||||
7020f6ad57cfd532a106542c2015710170270d21:
|
||||
title: 'wifi: ath10k: populate board data for WCN3990'
|
||||
mainline: f1f1b5b055c9f27a2f90fd0f0521f5920e9b3c18
|
||||
skipped: fixes patch not in branch
|
||||
880897e8a5ade054a04575e5d8cc2666da415ab4:
|
||||
title: 'macintosh/via-macii: Remove BUG_ON assertions'
|
||||
mainline: 5f93d7081a47e1972031ccf57c4b2779eee162fb
|
||||
backport: d85d76f39ef8f74c3ce4b2084bc1d56b90f808ce
|
||||
d0aa752285c9a35ee1ae0f2a4da10c5ceb6c09b6:
|
||||
title: 'macintosh/via-macii, macintosh/adb-iop: Clean up whitespace'
|
||||
mainline: 47fd2060660e62b169990a6fcd9eb61bc1a85c5c
|
||||
backport: fad0ed0dd7bf14e6c89489e1db0486828e45f563
|
||||
e4ff8bcfb2841fe4e17e5901578b632adb89036d:
|
||||
title: 'macintosh/via-macii: Fix "BUG: sleeping function called from invalid context"'
|
||||
mainline: d301a71c76ee4c384b4e03cdc320a55f5cf1df05
|
||||
backport: 82b5124ff8448c3b27d5cf963d835806a4ec8726
|
||||
eb0f2fc3ff5806cc572cd9055ce7c52a01e97645:
|
||||
title: 'wifi: carl9170: add a proper sanity check for endpoints'
|
||||
mainline: b6dd09b3dac89b45d1ea3e3bd035a3859c0369a0
|
||||
backport: e6c959db704b9f17b53d0d695ac791ddb180649b
|
||||
79ddf5f2020fd593d50f1363bb5131283d74f78f:
|
||||
title: 'wifi: ar5523: enable proper endpoint verification'
|
||||
mainline: e120b6388d7d88635d67dcae6483f39c37111850
|
||||
backport: 0e282a437be278b5a28b5de56553710ca304877a
|
||||
8ed15460d8bbc517bf54b24c7694e6c0ff174968:
|
||||
title: 'sh: kprobes: Merge arch_copy_kprobe() into arch_prepare_kprobe()'
|
||||
mainline: 1422ae080b66134fe192082d9b721ab7bd93fcc5
|
||||
backport: 08d55870d721795f5ca9affb641a9d77a5cde478
|
||||
3c37203af733254154602273a970cfb7400c223e:
|
||||
title: 'Revert "sh: Handle calling csum_partial with misaligned data"'
|
||||
mainline: b5319c96292ff877f6b58d349acf0a9dc8d3b454
|
||||
backport: 3d986276f8b5fa0dc170e1b35f0659b9ba4b2cd0
|
||||
481fc0c8617304a67649027c4a44723a139a0462:
|
||||
title: 'scsi: bfa: Ensure the copied buf is NUL terminated'
|
||||
mainline: 13d0cecb4626fae67c00c84d3c7851f6b62f7df3
|
||||
backport: 2461969d18d1b3a8ca40c5203819221813d2fa47
|
||||
1f84a2744ad813be23fc4be99fb74bfb24aadb95:
|
||||
title: 'scsi: qedf: Ensure the copied buf is NUL terminated'
|
||||
mainline: d0184a375ee797eb657d74861ba0935b6e405c62
|
||||
backport: c2d34a41a30021d6947d93dee2373e98416296b8
|
||||
6bc4e51e8d8451d40ec092d01119287af2acffcf:
|
||||
title: 'wifi: mwl8k: initialize cmd->addr[] properly'
|
||||
mainline: 1d60eabb82694e58543e2b6366dae3e7465892a5
|
||||
backport: ceee9c23ca78be8cbe0b677623554c14da4a8ffe
|
||||
c0aff9978bb6ead0aec382a2645a563a3dd2df38:
|
||||
title: 'net: usb: sr9700: stop lying about skb->truesize'
|
||||
mainline: 05417aa9c0c038da2464a0c504b9d4f99814a23b
|
||||
backport: 2341a1b273189a5673cfbb6a5badecca8e25d24a
|
||||
2a8d1d95302c7d52c6ac8fa5cb4a6948ae0d3a14:
|
||||
title: 'm68k: Fix spinlock race in kernel thread creation'
|
||||
mainline: da89ce46f02470ef08f0f580755d14d547da59ed
|
||||
backport: 314fdca9aa1eac5417fd9621bf4ebbacfd100e75
|
||||
c96430d59c71a0e5c641b5267ccf141c501fe15e:
|
||||
title: 'm68k/mac: Use ''030 reset method on SE/30'
|
||||
mainline: 9c0e91f6b701dce6902408d50c4df9cebe4744f5
|
||||
backport: 4e23b79c4b130dd3049e3c0001d4926dcfacded5
|
||||
8055e882c57031a5ca7fbf278796c19ded9f9d6f:
|
||||
title: 'm68k: mac: Fix reboot hang on Mac IIci'
|
||||
mainline: 265a3b322df9a973ff1fc63da70af456ab6ae1d6
|
||||
backport: 3d47f159d4991609f1a71bb15683f1b8cac8d2a8
|
||||
0a60bdd5ac8a51ac9c04bd19fee30c1c4f178dc3:
|
||||
title: 'net: ethernet: cortina: Locking fixes'
|
||||
mainline: 812552808f7ff71133fc59768cdc253c5b8ca1bf
|
||||
skipped: fixes patch not in branch
|
||||
fca6072e1a7b1e709ada5604b951513b89b4bd0a:
|
||||
title: 'af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg'
|
||||
mainline: 540bf24fba16b88c1b3b9353927204b4f1074e25
|
||||
backport: be1d9f0e9de4ae6b3c0baed5547aa84be06f6548
|
||||
1010b50b2ebaaa863baeba7572267ac39bbb7adb:
|
||||
title: 'net: usb: smsc95xx: stop lying about skb->truesize'
|
||||
mainline: d50729f1d60bca822ef6d9c1a5fb28d486bd7593
|
||||
backport: 16d0a15317ccdd42565ee3b0b4414f7134f414ba
|
||||
6a51ac92bf35d34b4996d6eb67e2fe469f573b11:
|
||||
title: 'net: openvswitch: fix overwriting ct original tuple for ICMPv6'
|
||||
mainline: 7c988176b6c16c516474f6fceebe0f055af5eb56
|
||||
backport: d84c07f0a36edfbb017f66723aff19b75408ec6a
|
||||
9acb7ed4ff0e57b29326768aa8780f2ba2310090:
|
||||
title: 'ipv6: sr: add missing seg6_local_exit'
|
||||
mainline: 3321687e321307629c71b664225b861ebf3e5753
|
||||
backport: e990bf08d73df105508439d775a40706fa34e4da
|
||||
d55cf7ced48c5054a79829a0b14203710006a277:
|
||||
title: 'ipv6: sr: fix incorrect unregister order'
|
||||
mainline: 6e370a771d2985107e82d0f6174381c1acb49c20
|
||||
backport: 32cc76dc98c3a167b25dfe1548848036fc07d834
|
||||
10610575a3ac2a702bf5c57aa931beaf847949c7:
|
||||
title: 'ipv6: sr: fix invalid unregister error path'
|
||||
mainline: 160e9d2752181fcf18c662e74022d77d3164cd45
|
||||
backport: a7eb748e89ec4c74a795fd32380019f21ae75895
|
||||
604c506ca43fce52bb882cff9c1fdf2ec3b4029c:
|
||||
title: 'drm/amd/display: Fix potential index out of bounds in color transformation function'
|
||||
mainline: 63ae548f1054a0b71678d0349c7dc9628ddd42ca
|
||||
skipped: fixes patch not in branch
|
||||
80850a39e2548988f4feae26f3fd66286b460278:
|
||||
title: 'mtd: rawnand: hynix: fixed typo'
|
||||
mainline: 6819db94e1cd3ce24a432f3616cd563ed0c4eaba
|
||||
backport: 73bc0203a1791e5252c190a016d46502406d53f0
|
||||
f6100ea560ed320a397d99aad6ad6918f0f1a70a:
|
||||
title: 'fbdev: shmobile: fix snprintf truncation'
|
||||
mainline: 26c8cfb9d1e4b252336d23dd5127a8cbed414a32
|
||||
backport: 4ba8a5fa126c85d319a0f1c773a15c04dde7d74c
|
||||
79078880795478d551a05acc41f957700030d364:
|
||||
title: 'drm/mediatek: Add 0 size check to mtk_drm_gem_obj'
|
||||
mainline: 1e4350095e8ab2577ee05f8c3b044e661b5af9a0
|
||||
backport: 43f9acac76b1661328292b13c57936252536a7ee
|
||||
b798cfeea12ebfd74c4bba511deb02956c97789e:
|
||||
title: 'powerpc/fsl-soc: hide unused const variable'
|
||||
mainline: 01acaf3aa75e1641442cc23d8fe0a7bb4226efb1
|
||||
backport: 27a754ac9d1b146c6690b8cc566be4df02028430
|
||||
6891334b1458739701885fef2909daef754654fa:
|
||||
title: 'fbdev: sisfb: hide unused variables'
|
||||
mainline: 688cf598665851b9e8cb5083ff1d208ce43d10ff
|
||||
skipped: fixes patch not in branch
|
||||
7394bab35c51cead246ef50d8c2e699e36032aed:
|
||||
title: 'media: ngene: Add dvb_ca_en50221_init return value check'
|
||||
mainline: 9bb1fd7eddcab2d28cfc11eb20f1029154dac718
|
||||
backport: a36a6656bdcc519ee8206e91a484c9545e41c428
|
||||
cbc12c9693fad0545fb0e753d78979026ae0772a:
|
||||
title: 'media: radio-shark2: Avoid led_names truncations'
|
||||
mainline: 1820e16a3019b6258e6009d34432946a6ddd0a90
|
||||
backport: 83fe7e17269e69bb85c5dcde3543fe69a7d14907
|
||||
74bafc897cb6c83b29c66cb39e82936204a5e51f:
|
||||
title: 'fbdev: sh7760fb: allow modular build'
|
||||
mainline: 51084f89d687e14d96278241e5200cde4b0985c7
|
||||
backport: d1bafe8dbdd69b5b94c648616261b10f89e9e634
|
||||
b6cc5dd06336ed8bb3a7a1fc5aaf7d5e88bc0818:
|
||||
title: 'drm/arm/malidp: fix a possible null pointer dereference'
|
||||
mainline: a1f95aede6285dba6dd036d907196f35ae3a11ea
|
||||
skipped: fixes patch not in branch
|
||||
60c68092723ea420215e9c3d5530038bc6568739:
|
||||
title: 'ASoC: tracing: Export SND_SOC_DAPM_DIR_OUT to its value'
|
||||
mainline: 58300f8d6a48e58d1843199be743f819e2791ea3
|
||||
backport: 8b76f73f5124b83712d6cdcb3ef990263e40c5f0
|
||||
9b7b7f640f078cfe90319190b59efcde3acc1952:
|
||||
title: 'RDMA/hns: Use complete parentheses in macros'
|
||||
mainline: 4125269bb9b22e1d8cdf4412c81be8074dbc61ca
|
||||
skipped: fixes patch not in branch
|
||||
ef10bbdf4d59a98cf57ddf943756f14ef3cdbccd:
|
||||
title: 'x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map'
|
||||
mainline: 59162e0c11d7257cde15f907d19fefe26da66692
|
||||
backport: e39747d5b28a334d3aa4a7d53db14f9f30390923
|
||||
1f9e32f9ea3454f79d80c8af7fac54843beba7f6:
|
||||
title: 'ext4: avoid excessive credit estimate in ext4_tmpfile()'
|
||||
mainline: 35a1f12f0ca857fee1d7a04ef52cbd5f1f84de13
|
||||
backport: 668cfe934e0081e60581269d5afab127489cdfda
|
||||
ab8466d4e26806a4ae82c282762c4545eecf45ef:
|
||||
title: 'SUNRPC: Fix gss_free_in_token_pages()'
|
||||
mainline: bafa6b4d95d97877baa61883ff90f7e374427fae
|
||||
skipped: fixes patch not in branch
|
||||
32b0469d13ebeb008b39613eb5acf529a10e0bde:
|
||||
title: 'selftests/kcmp: Make the test output consistent and clear'
|
||||
mainline: ff682226a353d88ffa5db9c2a9b945066776311e
|
||||
backport: 0f0c8dcfaaff549a0397d3e63ec093c2ff6d602d
|
||||
24331545d6ff749a8dbfb09925af86e8cc50dad5:
|
||||
title: 'selftests/kcmp: remove unused open mode'
|
||||
mainline: eb59a58113717df04b8a8229befd8ab1e5dbf86e
|
||||
backport: eea262830c62f8856fed4c532b5598f83c2972a9
|
||||
b469345f1fca84bed4dea3cae85faa401cf9bf3e:
|
||||
title: 'RDMA/IPoIB: Fix format truncation compilation errors'
|
||||
mainline: 49ca2b2ef3d003402584c68ae7b3055ba72e750a
|
||||
backport: 183cb1a936e35c5ae205498945addd70a31a61e0
|
||||
b9d663fbf74290cb68fbc66ae4367bd56837ad1d:
|
||||
title: 'netrom: fix possible dead-lock in nr_rt_ioctl()'
|
||||
mainline: e03e7f20ebf7e1611d40d1fdc1bde900fd3335f6
|
||||
backport: 08f41b353c1621f65bd6f61aa5f5aed2fc1feb11
|
||||
4f3ae7d846b4565c0b80d65ed607c3277bc984d4:
|
||||
title: 'af_packet: do not call packet_read_pending() from tpacket_destruct_skb()'
|
||||
mainline: 581073f626e387d3e7eed55c48c8495584ead7ba
|
||||
backport: 79417a25cb5eb9644fe89e5aae703a6b591669d5
|
||||
046daa54c348ccec12ab38b92923060dd09ef00b:
|
||||
title: 'sched/topology: Don''t set SD_BALANCE_WAKE on cpuset domain relax'
|
||||
mainline: 9ae7ab20b4835dbea0e5fc6a5c70171dc354a72e
|
||||
backport: 03baaba21b3291e6300e4fafb8d2849f0389de3d
|
||||
454de5ed81766fbbf4777c43392d8b0b35e7e16d:
|
||||
title: 'sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level'
|
||||
mainline: a1fd0b9d751f840df23ef0e75b691fc00cfd4743
|
||||
backport: cd212b4b364b6efe32441d764cabaef2402c8eba
|
||||
8f4a76d477f0cc3c54d512f07f6f88c8e1c1e07b:
|
||||
title: 'greybus: lights: check return of get_channel_from_mode'
|
||||
mainline: a1ba19a1ae7cd1e324685ded4ab563e78fe68648
|
||||
backport: 8d680792eafdefb9e3e547a305a505da085932ff
|
||||
12c70cc851b263b8cc9479a23488992eeb4c35e6:
|
||||
title: 'dmaengine: idma64: Add check for dma_set_max_seg_size'
|
||||
mainline: 2b1c1cf08a0addb6df42f16b37133dc7a351de29
|
||||
backport: 0d0f766835c349005332fd8e7b296660a7d6a65a
|
||||
20595142ca22ac2c8357564d9e7d52a0ffa471af:
|
||||
title: 'firmware: dmi-id: add a release callback function'
|
||||
mainline: cf770af5645a41a753c55a053fa1237105b0964a
|
||||
backport: e9c8e448b86118386e2aed7e3bb0e02fdbb68d14
|
||||
44b38924135d2093e2ec1812969464845dd66dc9:
|
||||
title: 'serial: max3100: Lock port->lock when calling uart_handle_cts_change()'
|
||||
mainline: 77ab53371a2066fdf9b895246505f5ef5a4b5d47
|
||||
backport: bcbacbcfd59ba38747a001592ffb3aae1118e5de
|
||||
21a61a7fbcfdd3493cede43ebc7c4dfae2147a8b:
|
||||
title: 'serial: max3100: Update uart_driver_registered on driver removal'
|
||||
mainline: 712a1fcb38dc7cac6da63ee79a88708fbf9c45ec
|
||||
backport: c6cf8b544d9ca71186322b2ede24e7ded577381a
|
||||
2ae8d5726526c05452aff0444b0f305fdf89a32d:
|
||||
title: 'serial: max3100: Fix bitwise types'
|
||||
mainline: e60955dbecb97f080848a57524827e2db29c70fd
|
||||
backport: 647c442cedd75f319c8ce8dc039c2d7baec68317
|
||||
22e65ed6799f2bfd059d633890d6c7ebe46abc9b:
|
||||
title: 'greybus: arche-ctrl: move device table to its right location'
|
||||
mainline: 6a0b8c0da8d8d418cde6894a104cf74e6098ddfa
|
||||
backport: 89f965ae0a3f751235963e2597c63fd9ce035113
|
||||
2822594f2dac6e493379885cef54fd179d8de8c5:
|
||||
title: 'microblaze: Remove gcc flag for non existing early_printk.c file'
|
||||
mainline: edc66cf0c4164aa3daf6cc55e970bb94383a6a57
|
||||
skipped: fixes patch not in branch
|
||||
d481ddb83d2d92c31479cdfaa7fdd97a73697992:
|
||||
title: 'microblaze: Remove early printk call from cpuinfo-static.c'
|
||||
mainline: 58d647506c92ccd3cfa0c453c68ddd14f40bf06f
|
||||
skipped: fixes patch not in branch
|
||||
a646645af00f65db78fe4a60f753f2b07df35b6e:
|
||||
title: 'usb: gadget: u_audio: Clear uac pointer when freed.'
|
||||
mainline: a2cf936ebef291ef7395172b9e2f624779fb6dc0
|
||||
backport: 0328af15e33a89109f97c8abcce2119896607fb4
|
||||
6cc30ef8eb6d8f8d6df43152264bbf8835d99931:
|
||||
title: 'stm class: Fix a double free in stm_register_device()'
|
||||
mainline: 3df463865ba42b8f88a590326f4c9ea17a1ce459
|
||||
backport: 5bbc7d325cef8fbd593fd8e71f12343c47028be1
|
||||
1e4805ba1b7800f2acfdd0b2e6588e4b64d6c493:
|
||||
title: 'ppdev: Remove usage of the deprecated ida_simple_xx() API'
|
||||
mainline: d8407f71ebeaeb6f50bd89791837873e44609708
|
||||
skipped: new API does not exist in 4.14
|
||||
65cd017d43f4319a56747d38308b0a24cf57299e:
|
||||
title: 'ppdev: Add an error check in register_device'
|
||||
mainline: fbf740aeb86a4fe82ad158d26d711f2f3be79b3e
|
||||
backport: 16e15c7fd21ec24f98668e5a7bf28ef5c1a0fcaa
|
||||
b463819e3725b60c550145df952080b5d0fe85a7:
|
||||
title: 'extcon: max8997: select IRQ_DOMAIN instead of depending on it'
|
||||
mainline: b1781d0a1458070d40134e4f3412ec9d70099bec
|
||||
backport: d1e6203d776319b888b57b1176df438ee85e67f7
|
||||
3506e1b893b5c2afa96922f36a01f018e4c4bbba:
|
||||
title: 'f2fs: add error prints for debugging mount failure'
|
||||
mainline: 9227d5227b8db354d386f592f159eaa44db1c0b8
|
||||
backport: 46dc390d5714351d5b798312f8edf666e327a1ef
|
||||
bc14bb3ef307947fc3110bca8a34a85a63300b6c:
|
||||
title: 'f2fs: fix to release node block count in error path of f2fs_new_node_page()'
|
||||
mainline: 0fa4e57c1db263effd72d2149d4e21da0055c316
|
||||
skipped: fixes patch not in branch
|
||||
82b6263b330a2b94a0b1d5c5d5543db7e24340ec:
|
||||
title: 'serial: sh-sci: Extract sci_dma_rx_chan_invalidate()'
|
||||
mainline: 11b3770d54b28dcd905155a6d4aa551187ff00eb
|
||||
skipped: dependency for a patch not needed for 4.14.y
|
||||
03023fd058fab714309a8d91ccdf1b3c5bb816d3:
|
||||
title: 'serial: sh-sci: protect invalidating RXDMA on shutdown'
|
||||
mainline: aae20f6e34cd0cbd67a1d0e5877561c40109a81b
|
||||
skipped: fixes patch not in branch
|
||||
3625187a973f16a3df59b803297816fe51d32400:
|
||||
title: 'libsubcmd: Fix parse-options memory leak'
|
||||
mainline: 230a7a71f92212e723fa435d4ca5922de33ec88a
|
||||
backport: 3fa32fd0a2737a59698613854994f72051a6d4bb
|
||||
502f295dcccf0ee7c4bddcf1ff2876987aaf89ca:
|
||||
title: 'Input: ims-pcu - fix printf string overflow'
|
||||
mainline: bf32bceedd0453c70d9d022e2e29f98e446d7161
|
||||
backport: 41c0d9061a68f5979e3244c26854cef37d91382b
|
||||
fd4bb5284d34687c82356f07efe957af89ee51fe:
|
||||
title: 'Input: pm8xxx-vibrator - correct VIB_MAX_LEVELS calculation'
|
||||
mainline: 48c0687a322d54ac7e7a685c0b6db78d78f593af
|
||||
backport: 7dfc577218ae7aeeadc5bdffe5727d57337904ee
|
||||
732e700a1689fbdb8ac94faeb7765e81456b0a95:
|
||||
title: 'drm/msm/dpu: use kms stored hw mdp block'
|
||||
mainline: 57250ca5433306774e7f83b11503609ed1bf28cf
|
||||
skipped: file is not in 4.14.y
|
||||
d2640251f94078e1dcf0a26b1815601f6dbd5440:
|
||||
title: 'um: Fix return value in ubd_init()'
|
||||
mainline: 31a5990ed253a66712d7ddc29c92d297a991fdf2
|
||||
backport: bb75c00bad0d04025b00991fe16db2fc0504ce58
|
||||
66ea9a7c6824821476914bed21a476cd20094f33:
|
||||
title: 'um: Add winch to winch_handlers before registering winch IRQ'
|
||||
mainline: a0fbbd36c156b9f7b2276871d499c9943dfe5101
|
||||
backport: 330646466ce0f4978524457d109ac80ece62c547
|
||||
f6a392266276730bea893b55d12940e32a25f56a:
|
||||
title: 'media: stk1160: fix bounds checking in stk1160_copy_video()'
|
||||
mainline: faa4364bef2ec0060de381ff028d1d836600a381
|
||||
backport: b7d9420c157cdb207a95dfc4a40edd116dedf355
|
||||
f0f4cb4cc3f43324bab3b5541b27e79cbd15c8d1:
|
||||
title: 'powerpc/pseries: Add failure related checks for h_get_mpp and h_get_ppp'
|
||||
mainline: 6d4341638516bf97b9a34947e0bd95035a8230a5
|
||||
backport: cd05d6e21092d824ec4d37f39f7583310d0442fa
|
||||
c08650c13bfc05794855480cc51075fdfcc388e0:
|
||||
title: 'um: Fix the -Wmissing-prototypes warning for __switch_mm'
|
||||
mainline: 2cbade17b18c0f0fd9963f26c9fc9b057eb1cb3a
|
||||
backport: d6c506b111a38e5583e5bdd880cc0c04d7ef3948
|
||||
896dfd4d74f84c854d3a24d889e54a44329d313e:
|
||||
title: 'media: cec: cec-adap: always cancel work in cec_transmit_msg_fh'
|
||||
mainline: 9fe2816816a3c765dff3b88af5b5c3d9bbb911ce
|
||||
skipped: fixes patch not in branch
|
||||
d2cfbc5298add5e0c6cfe8b343f73dfdf01c8b1c:
|
||||
title: 'media: cec: cec-api: add locking in cec_release()'
|
||||
mainline: 42bcaacae924bf18ae387c3f78c202df0b739292
|
||||
backport: 75fd6535ba80c0726e31004af666d80a0b9c3df8
|
||||
7471d0be031ab830a0fa154437601cff98f7068b:
|
||||
title: 'null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()'
|
||||
mainline: 9e6727f824edcdb8fdd3e6e8a0862eb49546e1cd
|
||||
backport: 9da7f2b727fd54add9890e238847acf82d6807a1
|
||||
28a7a1f9571068bb2ddc8a11f0afe5dfa9863462:
|
||||
title: 'x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y'
|
||||
mainline: 66ee3636eddcc82ab82b539d08b85fb5ac1dff9b
|
||||
backport: 4e00769cc5020fde90269bdd1e5c24302b0ba6ce
|
||||
406cfac9debd4a6d3dc5d9258ee086372a8c08b6:
|
||||
title: 'nfc: nci: Fix uninit-value in nci_rx_work'
|
||||
mainline: e4a87abf588536d1cdfb128595e6e680af5cf3ed
|
||||
backport: 3327ed68607e86e489af26305145830bf3f299a6
|
||||
afd5730969aec960a2fee4e5ee839a6014643976:
|
||||
title: 'ipv6: sr: fix memleak in seg6_hmac_init_algo'
|
||||
mainline: efb9f4f19f8e37fde43dfecebc80292d179f56c6
|
||||
backport: 2d5acfc9e45f4597b931857dd92d2f29d2382ad7
|
||||
459de98d7a6b3d504b5e8664f32f59a306dd425c:
|
||||
title: 'params: lift param_set_uint_minmax to common code'
|
||||
mainline: 2a14c9ae15a38148484a128b84bff7e9ffd90d68
|
||||
backport: 45e0b129726564750a58c06f1b4060b23f158960
|
||||
06d0fe049b51b0a92a70df8333fd85c4ba3eb2c6:
|
||||
title: 'tcp: Fix shift-out-of-bounds in dctcp_update_alpha().'
|
||||
mainline: 3ebc46ca8675de6378e3f8f40768e180bb8afa66
|
||||
backport: cf1096a1c8e1905df5e69949153c2598060457f0
|
||||
62a95de44a9bc006e01b0afa1b1e8868dc6de9d1:
|
||||
title: 'openvswitch: Set the skbuff pkt_type for proper pmtud support.'
|
||||
mainline: 30a92c9e3d6b073932762bef2ac66f4ee784c657
|
||||
backport: a629b0579dee6b041fdcad1859fa9f6a86da4ced
|
||||
f221bd58db0f6ca087ac0392284f6bce21f4f8ea:
|
||||
title: 'arm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY'
|
||||
mainline: ffbf4fb9b5c12ff878a10ea17997147ea4ebea6f
|
||||
backport: 0374a08aa5206c6200a88e0a122500dfd1d195f0
|
||||
cb7a7c8144b434e06aba99b13b045a7efe859587:
|
||||
title: 'virtio: delete vq in vp_find_vqs_msix() when request_irq() fails'
|
||||
mainline: 89875151fccdd024d571aa884ea97a0128b968b6
|
||||
backport: 63c5945dbfcb8b6f4c260aef57172893a15ebbb3
|
||||
4e4efb8f1b275e85c5c7f69087e392dbae437a8d:
|
||||
title: 'net: fec: avoid lock evasion when reading pps_enable'
|
||||
mainline: 3b1c92f8e5371700fada307cc8fd2c51fa7bc8c1
|
||||
backport: 76ff93a5ccf6378571ba77875039f77752ac8a33
|
||||
c6c938ef515733a1c7af2c87dbc23138f402ba97:
|
||||
title: 'nfc: nci: Fix kcov check in nci_rx_work()'
|
||||
mainline: 19e35f24750ddf860c51e51c68cf07ea181b4881
|
||||
backport: 3267e236cb890a2ff6450ba831f3ad66386d6c4b
|
||||
8f02d494cebae48dbd14c582ad4b36846e211b6a:
|
||||
title: 'nfc: nci: Fix handling of zero-length payload packets in nci_rx_work()'
|
||||
mainline: 6671e352497ca4bb07a96c48e03907065ff77d8a
|
||||
backport: 1a7a9cc0bb2c966cb7edee4a47dc81053e9030d8
|
||||
8658bd777cbfcb0c13df23d0ea120e70517761b9:
|
||||
title: 'netfilter: nfnetlink_queue: acquire rcu_read_lock() in instance_destroy_rcu()'
|
||||
mainline: dc21c6cc3d6986d938efbf95de62473982c98dec
|
||||
backport: ac335a5fe30958ed4c81fac6b76e4b6c77f6f95d
|
||||
c7893975764ba3b7a58a186f63dae188f7eddb18:
|
||||
title: 'spi: Don''t mark message DMA mapped when no transfer in it is'
|
||||
mainline: 9f788ba457b45b0ce422943fcec9fa35c4587764
|
||||
backport: 0a359294f4d22e037ff38999b1fdaa688aab6e5f
|
||||
36a935c8785a9ca95b094440a0450cd56b90e70c:
|
||||
title: 'nvmet: fix ns enable/disable possible hang'
|
||||
mainline: f97914e35fd98b2b18fb8a092e0a0799f73afdfe
|
||||
backport: 5584ee5ae01187bdcb286738c27d8cecf7c2b92d
|
||||
19f9b6cb94eebb4ef2a4a6bca0ef595039d73e04:
|
||||
title: 'net/mlx5e: Use rx_missed_errors instead of rx_dropped for reporting buffer exhaustion'
|
||||
mainline: 5c74195d5dd977e97556e6fa76909b831c241230
|
||||
backport: d6e67757cebbeb5857838f51e2c514a3c9fc5557
|
||||
1ff116f68560a25656933d5a18e7619cb6773d8a:
|
||||
title: 'dma-buf/sw-sync: don''t enable IRQ from sync_print_obj()'
|
||||
mainline: b794918961516f667b0c745aebdfebbb8a98df39
|
||||
backport: 5beeab6917b9b59ab2c15744b190b3ad93c58687
|
||||
2b649d7e0cb42a660f0260ef25fd55fdc9c6c600:
|
||||
title: 'enic: Validate length of nl attributes in enic_set_vf_port'
|
||||
mainline: e8021b94b0412c37bcc79027c2e382086b6ce449
|
||||
backport: 3d00c58ac6d7f0fa0882aafb5b1ca2c3c22838eb
|
||||
eced17c8715d43ce16f61c5a6a49299fbf37c0a0:
|
||||
title: 'smsc95xx: remove redundant function arguments'
|
||||
mainline: 368be1ca28f66deba16627e2a02e78adedd023a6
|
||||
backport: d7936abfc24afa29d587b2bdd0829092dc478ebf
|
||||
bcc526fec891dee22162082b1beeb9068b9eabb0:
|
||||
title: 'smsc95xx: use usbnet->driver_priv'
|
||||
mainline: ad90a73f0236c41f7a2dedc2e75c7b5a364eb93e
|
||||
backport: 17ddb0fdf87c7f3f7c07e2721f688301411d2792
|
||||
85b6bcf9d5e332aa9c4b7820cb3aa748c3df6a80:
|
||||
title: 'net: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM'
|
||||
mainline: 52a2f0608366a629d43dacd3191039c95fef74ba
|
||||
backport: e0bd5cab3be56a1437e713a5411c458b80fa039c
|
||||
416b0756721dcee2bb6227a4403e694011c32874:
|
||||
title: 'net:fec: Add fec_enet_deinit()'
|
||||
mainline: bf0497f53c8535f99b72041529d3f7708a6e2c0d
|
||||
backport: 4c2d953d579bbc6018f916d7474ca42a0ea2471f
|
||||
6bfda3ef7f6a2c1de30e70d67e901aa966f40c17:
|
||||
title: 'kconfig: fix comparison to constant symbols, ''m'', ''n'''
|
||||
mainline: aabdc960a283ba78086b0bf66ee74326f49e218e
|
||||
backport: c00f30ffce7c99732b9610771908b84af2f7e95a
|
||||
0049a623dfbbb49888de7f0c2f33a582b5ead989:
|
||||
title: 'ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound'
|
||||
mainline: b3dc6e8003b500861fa307e9a3400c52e78e4d3a
|
||||
backport: 3a016fed8503f04152b170bc324fd7fbbfb155e4
|
||||
68396c825c43664b20a3a1ba546844deb2b4e48f:
|
||||
title: 'ALSA: timer: Set lower bound of start tick time'
|
||||
mainline: 4a63bd179fa8d3fcc44a0d9d71d941ddd62f0c4e
|
||||
backport: 804b59ac965568b4ac7b1788ba8b3b324e362693
|
||||
a40209d355afe4ed6d533507838c9e5cd70a76d8:
|
||||
title: 'genirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline'
|
||||
mainline: a6c11c0a5235fb144a65e0cb2ffd360ddc1f6c32
|
||||
skipped: too risky to backport
|
||||
57ff6c0a175930856213b2aa39f8c845a53e5b1c:
|
||||
title: 'SUNRPC: Fix loop termination condition in gss_free_in_token_pages()'
|
||||
mainline: 4a77c3dead97339478c7422eb07bf4bf63577008
|
||||
skipped: fixes patch not in branch
|
||||
c437184be3c16f7123e5c59b4c85c1101f4dc96b:
|
||||
title: 'binder: fix max_thread type inconsistency'
|
||||
mainline: 42316941335644a98335f209daafa4c122f28983
|
||||
backport: f642f364e2b4e4302e6b41f1583603a9be83baef
|
||||
bda1d354bef71be32aaf2c5e6b96eef854b3dd4e:
|
||||
title: 'mmc: core: Do not force a retune before RPMB switch'
|
||||
mainline: 67380251e8bbd3302c64fea07f95c31971b91c22
|
||||
backport: 5584cc5bd6c850f9738f7b249be3d298f0012a16
|
||||
822ae5a8eac30478578a75f7e064f0584931bf2d:
|
||||
title: 'nilfs2: fix use-after-free of timer for log writer thread'
|
||||
mainline: f5d4e04634c9cf68bdf23de08ada0bb92e8befe7
|
||||
backport: 705fabd9032429d644eee84edc1d45f740edcc81
|
||||
f6141cbc2b5af521b1711e95363302b858a38729:
|
||||
title: 'vxlan: Fix regression when dropping packets due to invalid src addresses'
|
||||
mainline: 1cd4bc987abb2823836cbb8f887026011ccddc8a
|
||||
backport: 7e6f3eaf97955faec6cf408b6404a35cf2c82ea0
|
||||
f451d1a013fd585cbf70a65ca6b9cf3548bb039f:
|
||||
title: 'neighbour: fix unaligned access to pneigh_entry'
|
||||
mainline: ed779fe4c9b5a20b4ab4fd6f3e19807445bb78c7
|
||||
backport: 34358bf261de42b079db6cbd5ae3b074282cd00f
|
||||
21604179f67bd484790c296565bdc38f7a40fe35:
|
||||
title: 'ata: pata_legacy: make legacy_exit() work again'
|
||||
mainline: d4a89339f17c87c4990070e9116462d16e75894f
|
||||
backport: 792524d8e1b344cedcb40983a8756d4793a22e9e
|
||||
40f76e72ec0ebe27dcff9bfd5de8e65e1a2b8939:
|
||||
title: 'arm64: tegra: Correct Tegra132 I2C alias'
|
||||
mainline: 2633c58e1354d7de2c8e7be8bdb6f68a0a01bad7
|
||||
backport: aa9c43942fc69f5e652d6b4f68e0e2bf75868c7e
|
||||
b32aa95843cac6b12c2c014d40fca18aef24a347:
|
||||
title: 'md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING'
|
||||
mainline: 151f66bb618d1fd0eeb84acb61b4a9fa5d8bb0fa
|
||||
backport: d7263704edf4ee2783b116f64f407752d5b2f2bf
|
||||
e9b77b537a198235a518f71a274348afd1288467:
|
||||
title: 'wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU'
|
||||
mainline: 08b5d052d17a89bb8706b2888277d0b682dc1610
|
||||
skipped: u32_get_bits() does not build
|
||||
26e62b983a31b304733fb21f4b576a4a1e171297:
|
||||
title: 'arm64: dts: hi3798cv200: fix the size of GICR'
|
||||
mainline: 428a575dc9038846ad259466d5ba109858c0a023
|
||||
backport: 964fdd7feb56e40a55b89328877b0a7103bb4084
|
||||
772f5e31ed2d6bc5e8698394e4d13b298060c74a:
|
||||
title: 'media: mxl5xx: Move xpt structures off stack'
|
||||
mainline: 526f4527545b2d4ce0733733929fac7b6da09ac6
|
||||
backport: 35d3fa1859980a84c64c51b04a2ac57ffe5af109
|
||||
1ea3de272f5cc7603610b96316f9ed07bec6c2d0:
|
||||
title: 'media: v4l2-core: hold videodev_lock until dev reg, finishes'
|
||||
mainline: 1ed4477f2ea4743e7c5e1f9f3722152d14e6eeb1
|
||||
backport: 2046df24d6472a520a62d52a72d84d180b3e363c
|
||||
be754cbd77eaf2932408a4e18532e4945274a5c7:
|
||||
title: 'fbdev: savage: Handle err return when savagefb_check_var failed'
|
||||
mainline: 6ad959b6703e2c4c5d7af03b4cfd5ff608036339
|
||||
backport: 293140832f7230044b5f6888d0110714f51b554f
|
||||
525561faa075cb49905783fd3e4e16b66b218846:
|
||||
title: 'netfilter: nf_tables: pass context to nft_set_destroy()'
|
||||
mainline: 0c2a85edd143162b3a698f31e94bf8cdc041da87
|
||||
backport: c4af59f2d8336214168c4e0778a1a0a62afcbdc4
|
||||
68b10f33a37e942bdc06b9cb313ad4e1b1f612e8:
|
||||
title: 'netfilter: nftables: rename set element data activation/deactivation functions'
|
||||
mainline: f8bb7889af58d8e74d2d61c76b1418230f1610fa
|
||||
backport: b42c75cd69307b546b719cc59fb421a7c80a980f
|
||||
bc9f791d2593f17e39f87c6e2b3a36549a3705b1:
|
||||
title: 'netfilter: nf_tables: drop map element references from preparation phase'
|
||||
mainline: 628bd3e49cba1c066228e23d71a852c23e26da73
|
||||
backport: 50bfcb0af95ae860d93c151604451b9a10af6e06
|
||||
c6d5477753caa9ab0c5c043bf5d0fad29d1e596d:
|
||||
title: 'netfilter: nft_set_rbtree: allow loose matching of closing element in interval'
|
||||
mainline: 3b18d5eba491b2328b31efa4235724a2354af010
|
||||
skipped: fixes patch not in branch
|
||||
1302ba27fdc84ba0786301575dbcd2e1eddbcdc0:
|
||||
title: 'netfilter: nft_set_rbtree: Add missing expired checks'
|
||||
mainline: 340eaff651160234bdbce07ef34b92a8e45cd540
|
||||
skipped: fixes patch not in branch
|
||||
7ab87a326f20c52ff4d9972052d085be951c704b:
|
||||
title: 'netfilter: nft_set_rbtree: Switch to node list walk for overlap detection'
|
||||
mainline: c9e6978e2725a7d4b6cd23b2facd3f11422c0643
|
||||
skipped: fixes patch not in branch
|
||||
b76db53ee8802ee5683f8cb401d7e2ec6f9b3d56:
|
||||
title: 'netfilter: nft_set_rbtree: fix null deref on element insertion'
|
||||
mainline: 61ae320a29b0540c16931816299eb86bf2b66c08
|
||||
skipped: fixes patch not in branch
|
||||
8284a79136c384059e85e278da2210b809730287:
|
||||
title: 'netfilter: nft_set_rbtree: fix overlap expiration walk'
|
||||
mainline: f718863aca469a109895cb855e6b81fff4827d71
|
||||
skipped: fixes patch not in branch
|
||||
94313a196b44184b5b52c1876da6a537701b425a:
|
||||
title: 'netfilter: nf_tables: don''t skip expired elements during walk'
|
||||
mainline: 24138933b97b055d486e8064b4a1721702442a9b
|
||||
backport: 4538b02484e4c2d0c016ca190c5219fd97f932fb
|
||||
8da1b048f9a501d3d7d38c188ba09d7d0d5b8c27:
|
||||
title: 'netfilter: nf_tables: GC transaction API to avoid race with control plane'
|
||||
mainline: 5f68718b34a531a556f2f50300ead2862278da26
|
||||
skipped: too risky to backport
|
||||
cb4d00b563675ba8ff6ef94b077f58d816f68ba3:
|
||||
title: 'netfilter: nf_tables: adapt set backend to use GC transaction API'
|
||||
mainline: f6c383b8c31a93752a52697f8430a71dcbc46adf
|
||||
skipped: too risky to backport
|
||||
a35a20e083be2b507c30cc216b59d1a57f381d9b:
|
||||
title: 'netfilter: nf_tables: remove busy mark and gc batch API'
|
||||
mainline: a2dd0233cbc4d8a0abb5f64487487ffc9265beb5
|
||||
skipped: too risky to backport
|
||||
e7b86599fa945f3ce2bcbb95b4bbf1febbd3b087:
|
||||
title: 'netfilter: nf_tables: fix GC transaction races with netns and netlink event exit path'
|
||||
mainline: 6a33d8b73dfac0a41f3877894b38082bd0c9a5bc
|
||||
skipped: too risky to backport
|
||||
9a3f450ed90c72b6b80fd6e8974cbe8683c7365f:
|
||||
title: 'netfilter: nf_tables: GC transaction race with netns dismantle'
|
||||
mainline: 02c6c24402bf1c1e986899c14ba22a10b510916b
|
||||
skipped: too risky to backport
|
||||
f85ca36090cbb252bcbc95fc74c2853fc792694f:
|
||||
title: 'netfilter: nf_tables: GC transaction race with abort path'
|
||||
mainline: 720344340fb9be2765bbaab7b292ece0a4570eae
|
||||
skipped: too risky to backport
|
||||
9c22bd1ab442c552e9481f1157589362887a7f47:
|
||||
title: 'netfilter: nf_tables: defer gc run if previous batch is still pending'
|
||||
mainline: 8e51830e29e12670b4c10df070a4ea4c9593e961
|
||||
skipped: too risky to backport
|
||||
9db9feb841f7449772f9393c16b9ef4536d8c127:
|
||||
title: 'netfilter: nft_set_rbtree: skip sync GC for new elements in this transaction'
|
||||
mainline: 2ee52ae94baabf7ee09cf2a8d854b990dac5d0e4
|
||||
skipped: too risky to backport
|
||||
b3558703731028be2aee61baf341e53a3734e2a9:
|
||||
title: 'netfilter: nft_set_rbtree: use read spinlock to avoid datapath contention'
|
||||
mainline: 96b33300fba880ec0eafcf3d82486f3463b4b6da
|
||||
skipped: too risky to backport
|
||||
b6a744ba74f2388034c422f57568451bb6111d00:
|
||||
title: 'netfilter: nft_set_hash: try later when GC hits EAGAIN on iteration'
|
||||
mainline: b079155faae94e9b3ab9337e82100a914ebb4e8d
|
||||
skipped: too risky to backport
|
||||
7cf055b43756b10aa2b851c927c940f5ed652125:
|
||||
title: 'netfilter: nf_tables: fix memleak when more than 255 elements expired'
|
||||
mainline: cf5000a7787cbc10341091d37245a42c119d26c5
|
||||
skipped: too risky to backport
|
||||
88c795491bf45a8c08a0f94c9ca4f13722e51013:
|
||||
title: 'netfilter: nf_tables: unregister flowtable hooks on netns exit'
|
||||
mainline: 6069da443bf65f513bb507bb21e2f87cfb1ad0b6
|
||||
skipped: fixes patch not in branch
|
||||
c73955a09408e7374d9abfd0e78ce3de9cda0635:
|
||||
title: 'netfilter: nf_tables: double hook unregistration in netns path'
|
||||
mainline: f9a43007d3f7ba76d5e7f9421094f00f2ef202f8
|
||||
skipped: fixes patch not in branch
|
||||
2565d90ab654f775d8865512f2a6aa3940182038:
|
||||
title: 'netfilter: nftables: update table flags from the commit phase'
|
||||
mainline: 0ce7cf4127f14078ca598ba9700d813178a59409
|
||||
skipped: too risky to backport
|
||||
bf8083bbf8fa202e6e5316bbd99759ab82bfe7a3:
|
||||
title: 'netfilter: nf_tables: fix table flag updates'
|
||||
mainline: 179d9ba5559a756f4322583388b3213fe4e391b0
|
||||
skipped: too risky to backport
|
||||
746523b4a3927fb922c82a6e997c4d1ba74c7f13:
|
||||
title: 'netfilter: nf_tables: disable toggling dormant table state more than once'
|
||||
mainline: c9bd26513b3a11b3adb3c2ed8a31a01a87173ff1
|
||||
skipped: too risky to backport
|
||||
a118e0d82bb4b7760db8f704c05e2b8713b9bcc1:
|
||||
title: 'netfilter: nf_tables: bogus EBUSY when deleting flowtable after flush (for 4.19)'
|
||||
6a67f972de8994ee1c3092b19b6f5569b66b9904:
|
||||
title: 'netfilter: nft_dynset: fix timeouts later than 23 days'
|
||||
mainline: 917d80d376ffbaa9725fde9e3c0282f63643f278
|
||||
skipped: too risky to backport
|
||||
28a97c43c9e32f437ebb8d6126f9bb7f3ca9521a:
|
||||
title: 'netfilter: nftables: exthdr: fix 4-byte stack OOB write'
|
||||
mainline: fd94d9dadee58e09b49075240fe83423eb1dcd36
|
||||
skipped: commit is already present in branch
|
||||
c5c4746c8cd6d049dcbf39c811172c917ea6fb6e:
|
||||
title: 'netfilter: nft_dynset: report EOPNOTSUPP on missing set feature'
|
||||
mainline: 95cd4bca7b1f4a25810f3ddfc5e767fb46931789
|
||||
backport: ea71b10a3d18e5589f44b836a83003a6e741d6bb
|
||||
79e98cd78610560a6a6cf85200eb31331602f9a9:
|
||||
title: 'netfilter: nft_dynset: relax superfluous check on set updates'
|
||||
mainline: 7b1394892de8d95748d05e3ee41e85edb4abbfa1
|
||||
backport: fa8b9918795f9be7f4ca95f5440acff86fe946db
|
||||
451dc4678c1342fc5c3a2d23e1d8e120e58f6304:
|
||||
title: 'netfilter: nf_tables: mark newset as dead on transaction abort'
|
||||
mainline: 08e4c8c5919fd405a4d709b4ba43d836894a26eb
|
||||
skipped: too risky to backport
|
||||
18f1f50558e1736d34597fdf08554aee94f59405:
|
||||
title: 'netfilter: nf_tables: skip dead set elements in netlink dump'
|
||||
mainline: 6b1ca88e4bb63673dc9f9c7f23c899f22c3cb17a
|
||||
skipped: too risky to backport
|
||||
a5bbd579c81ffb9f65cb280fa89be9ec9c01029b:
|
||||
title: 'netfilter: nf_tables: validate NFPROTO_* family'
|
||||
mainline: d0009effa8862c20a13af4cb7475d9771b905693
|
||||
skipped: too risky to backport
|
||||
c60d252949caf9aba537525195edae6bbabc35eb:
|
||||
title: 'netfilter: nft_set_rbtree: skip end interval element from gc'
|
||||
mainline: 60c0c230c6f046da536d3df8b39a20b9a9fd6af0
|
||||
skipped: fixes patch not in branch
|
||||
a6411f3c48f991c19aaf9a24fce36865fbba28d7:
|
||||
title: 'netfilter: nf_tables: set dormant flag on hook register failure'
|
||||
mainline: bccebf64701735533c8db37773eeacc6566cc8ec
|
||||
skipped: fixes issue not in 4.14
|
||||
d8853cfe273c181b2e45528db7300536e860b758:
|
||||
title: 'netfilter: nf_tables: allow NFPROTO_INET in nft_(match/target)_validate()'
|
||||
mainline: 7e0f122c65912740327e4c54472acaa5f85868cb
|
||||
skipped: too risky to backport
|
||||
845083249d6a392f3a88804e1669bdb936ee129f:
|
||||
title: 'netfilter: nf_tables: do not compare internal table flags on updates'
|
||||
mainline: 4a0e7f2decbf9bd72461226f1f5f7dcc4b08f139
|
||||
skipped: too risky to backport
|
||||
d75a589bb92af1abf3b779cfcd1977ca11b27033:
|
||||
title: 'netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout'
|
||||
mainline: 552705a3650bbf46a22b1adedc1b04181490fc36
|
||||
skipped: too risky to backport
|
||||
6d12f21f8bbe23fde25b77c2bf5973c136b8bef8:
|
||||
title: 'netfilter: nf_tables: reject new basechain after table flag update'
|
||||
mainline: 994209ddf4f430946f6247616b2e33d179243769
|
||||
skipped: too risky to backport
|
||||
e75faf01e22ec7dc671640fa0e0968964fafd2fc:
|
||||
title: 'netfilter: nf_tables: discard table flag update with pending basechain deletion'
|
||||
mainline: 1bc83a019bbe268be3526406245ec28c2458a518
|
||||
skipped: too risky to backport
|
||||
3c9ee8294728633e707c25fe0a321eeac1cc7515:
|
||||
title: 'KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode'
|
||||
mainline: dfe6d190f38fc5df5ff2614b463a5195a399c885
|
||||
backport: 6658c1ef0cb35d3d594507db800cb44a54db4f75
|
||||
0ce5964b82f212f4df6a9813f09a0b5de15bd9c8:
|
||||
title: 'crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak'
|
||||
mainline: d3b17c6d9dddc2db3670bc9be628b122416a3d26
|
||||
backport: 9d5b95ce1488266fd3dc3951da6c8ce25c366ada
|
||||
72c5d8e416ecc46af370a1340b3db5ff0b0cc867:
|
||||
title: 'net/9p: fix uninit-value in p9_client_rpc()'
|
||||
mainline: 25460d6f39024cc3b8241b14c7ccf0d6f11a736a
|
||||
backport: 9a9a74f4cdb1295a5a854d2ca6cb87fc19048ef3
|
||||
58c0309c73fe1e9c477ed4cc5d02fc9015336979:
|
||||
title: 'intel_th: pci: Add Meteor Lake-S CPU support'
|
||||
mainline: a4f813c3ec9d1c32bc402becd1f011b3904dd699
|
||||
backport: 471ea347bb7d4b16dd62a6642efb111fa36f2da7
|
||||
180b2e4c1ba4f6e3e4c52d6664cb019f6eac02f8:
|
||||
title: 'sparc64: Fix number of online CPUs'
|
||||
mainline: 98937707fea8375e8acea0aaa0b68a956dd52719
|
||||
backport: 9f2edbc910b189e46e7ca3d17680e36fde63276d
|
||||
fb824a99e148ff272a53d71d84122728b5f00992:
|
||||
title: 'kdb: Fix buffer overflow during tab-complete'
|
||||
mainline: e9730744bf3af04cda23799029342aa3cddbc454
|
||||
backport: f751d9a9f3d6c01908cf9bc9d966a35ecc1a2f64
|
||||
4edfbbaca46491b06af14e49dcb79ac661d0bbdc:
|
||||
title: 'kdb: Use format-strings rather than ''\0'' injection in kdb_read()'
|
||||
mainline: 09b35989421dfd5573f0b4683c7700a7483c71f9
|
||||
backport: f990953b6d8d752849e6f682628d4632f051b7de
|
||||
21c068c1bbb4c336741749596d004b1965faab2c:
|
||||
title: 'kdb: Fix console handling when editing and tab-completing commands'
|
||||
mainline: db2f9c7dc29114f531df4a425d0867d01e1f1e28
|
||||
backport: fc2a098bc09c4f9968c93222902d72f518ec6953
|
||||
4a89182788f9af9a290c19098382fb972ebe2783:
|
||||
title: 'kdb: Merge identical case statements in kdb_read()'
|
||||
mainline: 6244917f377bf64719551b58592a02a0336a7439
|
||||
backport: 201f3d45deb9bcf1046483d72642d8457976c7a9
|
||||
2467f3f182eb35627534effd4956fceb2504c127:
|
||||
title: 'kdb: Use format-specifiers rather than memset() for padding in kdb_read()'
|
||||
mainline: c9b51ddb66b1d96e4d364c088da0f1dfb004c574
|
||||
backport: c89fb4fb7559ec8e3f74ecbc29ef856a47cc85d4
|
||||
051c0bde9f0450a2ec3d62a86d2a0d2fad117f13:
|
||||
title: 'net: fix __dst_negative_advice() race'
|
||||
mainline: 92f1655aa2b2294d0b49925f3b875a634bd3b59e
|
||||
skipped: fixes patch not in branch
|
||||
980a1cd6e092eab9398a78f517809a7dacaa0468:
|
||||
title: 'sparc: move struct termio to asm/termios.h'
|
||||
mainline: c32d18e7942d7589b62e301eb426b32623366565
|
||||
backport: 212ca5dd4286a76808254db293bd898a062b56e3
|
||||
9ad75e78747b5a50dc5a52f0f8e92e920a653f16:
|
||||
title: 'ext4: fix mb_cache_entry''s e_refcnt leak in ext4_xattr_block_cache_find()'
|
||||
mainline: 0c0b4a49d3e7f49690a6827a41faeffad5df7e21
|
||||
backport: 199f7d837409f78087fde12a33c486d4d866c16e
|
||||
2062e3f1f2374102f8014d7ca286b9aa527bd558:
|
||||
title: 's390/ap: Fix crash in AP internal function modify_bitmap()'
|
||||
mainline: d4f9d5a99a3fd1b1c691b7a1a6f8f3f25f4116c9
|
||||
skipped: depends on missing commit 3d8f60d38e249f989a7fca9c2370c31c3d5487e1
|
||||
74ea538aa24490d7d259c881189bb58dbf1f692c:
|
||||
title: 'nfs: fix undefined behavior in nfs_block_bits()'
|
||||
mainline: 3c0a2e0b0ae661457c8505fecc7be5501aa7a715
|
||||
backport: 593e234893f02097b207840c7c31b4d91b64ca14
|
@ -16,6 +16,11 @@ Optional properties:
|
||||
a GPIO spec for the external headphone detect pin. If jd-mode = 0,
|
||||
we will get the JD status by getting the value of hp-detect-gpios.
|
||||
|
||||
- cbj-sleeve-gpios:
|
||||
a GPIO spec to control the external combo jack circuit to tie the sleeve/ring2
|
||||
contacts to the ground or floating. It could avoid some electric noise from the
|
||||
active speaker jacks.
|
||||
|
||||
- realtek,in2-differential
|
||||
Boolean. Indicate MIC2 input are differential, rather than single-ended.
|
||||
|
||||
@ -64,6 +69,7 @@ codec: rt5650@1a {
|
||||
compatible = "realtek,rt5650";
|
||||
reg = <0x1a>;
|
||||
hp-detect-gpios = <&gpio 19 0>;
|
||||
cbj-sleeve-gpios = <&gpio 20 0>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
|
||||
realtek,dmic-en = "true";
|
||||
|
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 4
|
||||
PATCHLEVEL = 14
|
||||
SUBLEVEL = 348
|
||||
SUBLEVEL = 349
|
||||
EXTRAVERSION = -openela
|
||||
NAME = Petit Gorille
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
||||
gic: interrupt-controller@f1001000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x0 0xf1001000 0x0 0x1000>, /* GICD */
|
||||
<0x0 0xf1002000 0x0 0x100>; /* GICC */
|
||||
<0x0 0xf1002000 0x0 0x2000>; /* GICC */
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
|
@ -9,8 +9,8 @@
|
||||
compatible = "nvidia,norrin", "nvidia,tegra132", "nvidia,tegra124";
|
||||
|
||||
aliases {
|
||||
rtc0 = "/i2c@7000d000/as3722@40";
|
||||
rtc1 = "/rtc@7000e000";
|
||||
rtc0 = &as3722;
|
||||
rtc1 = &tegra_rtc;
|
||||
serial0 = &uarta;
|
||||
};
|
||||
|
||||
|
@ -569,7 +569,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
rtc@7000e000 {
|
||||
tegra_rtc: rtc@7000e000 {
|
||||
compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
|
||||
reg = <0x0 0x7000e000 0x0 0x100>;
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
@ -39,6 +39,7 @@
|
||||
0: .long 1f - 0b; \
|
||||
_BUGVERBOSE_LOCATION(__FILE__, __LINE__) \
|
||||
.short flags; \
|
||||
.align 2; \
|
||||
.popsection; \
|
||||
1:
|
||||
#else
|
||||
|
@ -175,6 +175,7 @@ static int set_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
|
||||
case COMPAT_PSR_MODE_SVC:
|
||||
case COMPAT_PSR_MODE_ABT:
|
||||
case COMPAT_PSR_MODE_UND:
|
||||
case COMPAT_PSR_MODE_SYS:
|
||||
if (!vcpu_el1_is_32bit(vcpu))
|
||||
return -EINVAL;
|
||||
break;
|
||||
|
@ -159,6 +159,7 @@ extern void iop_complete_message(struct iop_msg *);
|
||||
extern void iop_upload_code(uint, __u8 *, uint, __u16);
|
||||
extern void iop_download_code(uint, __u8 *, uint, __u16);
|
||||
extern __u8 *iop_compare_code(uint, __u8 *, uint, __u16);
|
||||
extern void iop_ism_irq_poll(uint);
|
||||
|
||||
extern void iop_register_interrupts(void);
|
||||
|
||||
|
@ -425,7 +425,9 @@ resume:
|
||||
movec %a0,%dfc
|
||||
|
||||
/* restore status register */
|
||||
movew %a1@(TASK_THREAD+THREAD_SR),%sr
|
||||
movew %a1@(TASK_THREAD+THREAD_SR),%d0
|
||||
oriw #0x0700,%d0
|
||||
movew %d0,%sr
|
||||
|
||||
rts
|
||||
|
||||
|
@ -589,3 +589,12 @@ irqreturn_t iop_ism_irq(int irq, void *dev_id)
|
||||
}
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
void iop_ism_irq_poll(uint iop_num)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
iop_ism_irq(0, (void *)iop_num);
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
|
@ -483,41 +483,19 @@ void mac_poweroff(void)
|
||||
|
||||
void mac_reset(void)
|
||||
{
|
||||
if (macintosh_config->adb_type == MAC_ADB_II) {
|
||||
unsigned long flags;
|
||||
|
||||
/* need ROMBASE in booter */
|
||||
/* indeed, plus need to MAP THE ROM !! */
|
||||
|
||||
if (mac_bi_data.rombase == 0)
|
||||
mac_bi_data.rombase = 0x40800000;
|
||||
|
||||
/* works on some */
|
||||
rom_reset = (void *) (mac_bi_data.rombase + 0xa);
|
||||
|
||||
if (macintosh_config->ident == MAC_MODEL_SE30) {
|
||||
/*
|
||||
* MSch: Machines known to crash on ROM reset ...
|
||||
*/
|
||||
} else {
|
||||
local_irq_save(flags);
|
||||
|
||||
rom_reset();
|
||||
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
#ifdef CONFIG_ADB_CUDA
|
||||
} else if (macintosh_config->adb_type == MAC_ADB_EGRET ||
|
||||
macintosh_config->adb_type == MAC_ADB_CUDA) {
|
||||
if (macintosh_config->adb_type == MAC_ADB_EGRET ||
|
||||
macintosh_config->adb_type == MAC_ADB_CUDA) {
|
||||
cuda_restart();
|
||||
} else
|
||||
#endif
|
||||
#ifdef CONFIG_ADB_PMU68K
|
||||
} else if (macintosh_config->adb_type == MAC_ADB_PB1
|
||||
|| macintosh_config->adb_type == MAC_ADB_PB2) {
|
||||
if (macintosh_config->adb_type == MAC_ADB_PB1 ||
|
||||
macintosh_config->adb_type == MAC_ADB_PB2) {
|
||||
pmu_restart();
|
||||
} else
|
||||
#endif
|
||||
} else if (CPU_IS_030) {
|
||||
|
||||
if (CPU_IS_030) {
|
||||
/* 030-specific reset routine. The idea is general, but the
|
||||
* specific registers to reset are '030-specific. Until I
|
||||
* have a non-030 machine, I can't test anything else.
|
||||
@ -564,6 +542,18 @@ void mac_reset(void)
|
||||
"jmp %/a0@\n\t" /* jump to the reset vector */
|
||||
".chip 68k"
|
||||
: : "r" (offset), "a" (rombase) : "a0");
|
||||
} else {
|
||||
/* need ROMBASE in booter */
|
||||
/* indeed, plus need to MAP THE ROM !! */
|
||||
|
||||
if (mac_bi_data.rombase == 0)
|
||||
mac_bi_data.rombase = 0x40800000;
|
||||
|
||||
/* works on some */
|
||||
rom_reset = (void *)(mac_bi_data.rombase + 0xa);
|
||||
|
||||
local_irq_disable();
|
||||
rom_reset();
|
||||
}
|
||||
|
||||
/* should never get here */
|
||||
|
@ -34,6 +34,7 @@ EXPORT_SYMBOL(memset);
|
||||
#include <linux/atomic.h>
|
||||
EXPORT_SYMBOL(__xchg8);
|
||||
EXPORT_SYMBOL(__xchg32);
|
||||
EXPORT_SYMBOL(__cmpxchg_u8);
|
||||
EXPORT_SYMBOL(__cmpxchg_u32);
|
||||
EXPORT_SYMBOL(__cmpxchg_u64);
|
||||
#ifdef CONFIG_SMP
|
||||
|
@ -422,7 +422,7 @@ struct hvcall_mpp_data {
|
||||
unsigned long backing_mem;
|
||||
};
|
||||
|
||||
int h_get_mpp(struct hvcall_mpp_data *);
|
||||
long h_get_mpp(struct hvcall_mpp_data *mpp_data);
|
||||
|
||||
struct hvcall_mpp_x_data {
|
||||
unsigned long coalesced_bytes;
|
||||
|
@ -937,10 +937,10 @@ out:
|
||||
* h_get_mpp
|
||||
* H_GET_MPP hcall returns info in 7 parms
|
||||
*/
|
||||
int h_get_mpp(struct hvcall_mpp_data *mpp_data)
|
||||
long h_get_mpp(struct hvcall_mpp_data *mpp_data)
|
||||
{
|
||||
int rc;
|
||||
unsigned long retbuf[PLPAR_HCALL9_BUFSIZE];
|
||||
unsigned long retbuf[PLPAR_HCALL9_BUFSIZE] = {0};
|
||||
long rc;
|
||||
|
||||
rc = plpar_hcall9(H_GET_MPP, retbuf);
|
||||
|
||||
|
@ -112,8 +112,8 @@ struct hvcall_ppp_data {
|
||||
*/
|
||||
static unsigned int h_get_ppp(struct hvcall_ppp_data *ppp_data)
|
||||
{
|
||||
unsigned long rc;
|
||||
unsigned long retbuf[PLPAR_HCALL9_BUFSIZE];
|
||||
unsigned long retbuf[PLPAR_HCALL9_BUFSIZE] = {0};
|
||||
long rc;
|
||||
|
||||
rc = plpar_hcall9(H_GET_PPP, retbuf);
|
||||
|
||||
@ -159,7 +159,7 @@ static void parse_ppp_data(struct seq_file *m)
|
||||
struct hvcall_ppp_data ppp_data;
|
||||
struct device_node *root;
|
||||
const __be32 *perf_level;
|
||||
int rc;
|
||||
long rc;
|
||||
|
||||
rc = h_get_ppp(&ppp_data);
|
||||
if (rc)
|
||||
|
@ -576,10 +576,12 @@ static const struct fsl_msi_feature ipic_msi_feature = {
|
||||
.msiir_offset = 0x38,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_EPAPR_PARAVIRT
|
||||
static const struct fsl_msi_feature vmpic_msi_feature = {
|
||||
.fsl_pic_ip = FSL_PIC_IP_VMPIC,
|
||||
.msiir_offset = 0,
|
||||
};
|
||||
#endif
|
||||
|
||||
static const struct of_device_id fsl_of_msi_ids[] = {
|
||||
{
|
||||
|
@ -47,17 +47,12 @@ int __kprobes arch_prepare_kprobe(struct kprobe *p)
|
||||
if (OPCODE_RTE(opcode))
|
||||
return -EFAULT; /* Bad breakpoint */
|
||||
|
||||
memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t));
|
||||
p->opcode = opcode;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void __kprobes arch_copy_kprobe(struct kprobe *p)
|
||||
{
|
||||
memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t));
|
||||
p->opcode = *p->addr;
|
||||
}
|
||||
|
||||
void __kprobes arch_arm_kprobe(struct kprobe *p)
|
||||
{
|
||||
*p->addr = BREAKPOINT_INSTRUCTION;
|
||||
|
@ -36,7 +36,8 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* asmlinkage __wsum csum_partial(const void *buf, int len, __wsum sum);
|
||||
* unsigned int csum_partial(const unsigned char *buf, int len,
|
||||
* unsigned int sum);
|
||||
*/
|
||||
|
||||
.text
|
||||
@ -48,31 +49,11 @@ ENTRY(csum_partial)
|
||||
* Fortunately, it is easy to convert 2-byte alignment to 4-byte
|
||||
* alignment for the unrolled loop.
|
||||
*/
|
||||
mov r5, r1
|
||||
mov r4, r0
|
||||
tst #3, r0 ! Check alignment.
|
||||
bt/s 2f ! Jump if alignment is ok.
|
||||
mov r4, r7 ! Keep a copy to check for alignment
|
||||
tst #2, r0 ! Check alignment.
|
||||
bt 2f ! Jump if alignment is ok.
|
||||
!
|
||||
tst #1, r0 ! Check alignment.
|
||||
bt 21f ! Jump if alignment is boundary of 2bytes.
|
||||
|
||||
! buf is odd
|
||||
tst r5, r5
|
||||
add #-1, r5
|
||||
bt 9f
|
||||
mov.b @r4+, r0
|
||||
extu.b r0, r0
|
||||
addc r0, r6 ! t=0 from previous tst
|
||||
mov r6, r0
|
||||
shll8 r6
|
||||
shlr16 r0
|
||||
shlr8 r0
|
||||
or r0, r6
|
||||
mov r4, r0
|
||||
tst #2, r0
|
||||
bt 2f
|
||||
21:
|
||||
! buf is 2 byte aligned (len could be 0)
|
||||
add #-2, r5 ! Alignment uses up two bytes.
|
||||
cmp/pz r5 !
|
||||
bt/s 1f ! Jump if we had at least two bytes.
|
||||
@ -80,17 +61,16 @@ ENTRY(csum_partial)
|
||||
bra 6f
|
||||
add #2, r5 ! r5 was < 2. Deal with it.
|
||||
1:
|
||||
mov r5, r1 ! Save new len for later use.
|
||||
mov.w @r4+, r0
|
||||
extu.w r0, r0
|
||||
addc r0, r6
|
||||
bf 2f
|
||||
add #1, r6
|
||||
2:
|
||||
! buf is 4 byte aligned (len could be 0)
|
||||
mov r5, r1
|
||||
mov #-5, r0
|
||||
shld r0, r1
|
||||
tst r1, r1
|
||||
shld r0, r5
|
||||
tst r5, r5
|
||||
bt/s 4f ! if it's =0, go to 4f
|
||||
clrt
|
||||
.align 2
|
||||
@ -112,31 +92,30 @@ ENTRY(csum_partial)
|
||||
addc r0, r6
|
||||
addc r2, r6
|
||||
movt r0
|
||||
dt r1
|
||||
dt r5
|
||||
bf/s 3b
|
||||
cmp/eq #1, r0
|
||||
! here, we know r1==0
|
||||
addc r1, r6 ! add carry to r6
|
||||
! here, we know r5==0
|
||||
addc r5, r6 ! add carry to r6
|
||||
4:
|
||||
mov r5, r0
|
||||
mov r1, r0
|
||||
and #0x1c, r0
|
||||
tst r0, r0
|
||||
bt 6f
|
||||
! 4 bytes or more remaining
|
||||
mov r0, r1
|
||||
shlr2 r1
|
||||
bt/s 6f
|
||||
mov r0, r5
|
||||
shlr2 r5
|
||||
mov #0, r2
|
||||
5:
|
||||
addc r2, r6
|
||||
mov.l @r4+, r2
|
||||
movt r0
|
||||
dt r1
|
||||
dt r5
|
||||
bf/s 5b
|
||||
cmp/eq #1, r0
|
||||
addc r2, r6
|
||||
addc r1, r6 ! r1==0 here, so it means add carry-bit
|
||||
addc r5, r6 ! r5==0 here, so it means add carry-bit
|
||||
6:
|
||||
! 3 bytes or less remaining
|
||||
mov r1, r5
|
||||
mov #3, r0
|
||||
and r0, r5
|
||||
tst r5, r5
|
||||
@ -162,16 +141,6 @@ ENTRY(csum_partial)
|
||||
mov #0, r0
|
||||
addc r0, r6
|
||||
9:
|
||||
! Check if the buffer was misaligned, if so realign sum
|
||||
mov r7, r0
|
||||
tst #1, r0
|
||||
bt 10f
|
||||
mov r6, r0
|
||||
shll8 r6
|
||||
shlr16 r0
|
||||
shlr8 r0
|
||||
or r0, r6
|
||||
10:
|
||||
rts
|
||||
mov r6, r0
|
||||
|
||||
|
@ -47,7 +47,6 @@ void arch_send_call_function_ipi_mask(const struct cpumask *mask);
|
||||
int hard_smp_processor_id(void);
|
||||
#define raw_smp_processor_id() (current_thread_info()->cpu)
|
||||
|
||||
void smp_fill_in_cpu_possible_map(void);
|
||||
void smp_fill_in_sib_core_maps(void);
|
||||
void cpu_play_dead(void);
|
||||
|
||||
@ -77,7 +76,6 @@ void __cpu_die(unsigned int cpu);
|
||||
#define smp_fill_in_sib_core_maps() do { } while (0)
|
||||
#define smp_fetch_global_regs() do { } while (0)
|
||||
#define smp_fetch_global_pmu() do { } while (0)
|
||||
#define smp_fill_in_cpu_possible_map() do { } while (0)
|
||||
#define smp_init_cpu_poke() do { } while (0)
|
||||
#define scheduler_poke() do { } while (0)
|
||||
|
||||
|
@ -13,16 +13,6 @@ typedef unsigned int tcflag_t;
|
||||
typedef unsigned long tcflag_t;
|
||||
#endif
|
||||
|
||||
#define NCC 8
|
||||
struct termio {
|
||||
unsigned short c_iflag; /* input mode flags */
|
||||
unsigned short c_oflag; /* output mode flags */
|
||||
unsigned short c_cflag; /* control mode flags */
|
||||
unsigned short c_lflag; /* local mode flags */
|
||||
unsigned char c_line; /* line discipline */
|
||||
unsigned char c_cc[NCC]; /* control characters */
|
||||
};
|
||||
|
||||
#define NCCS 17
|
||||
struct termios {
|
||||
tcflag_t c_iflag; /* input mode flags */
|
||||
|
@ -40,5 +40,14 @@ struct winsize {
|
||||
unsigned short ws_ypixel;
|
||||
};
|
||||
|
||||
#define NCC 8
|
||||
struct termio {
|
||||
unsigned short c_iflag; /* input mode flags */
|
||||
unsigned short c_oflag; /* output mode flags */
|
||||
unsigned short c_cflag; /* control mode flags */
|
||||
unsigned short c_lflag; /* local mode flags */
|
||||
unsigned char c_line; /* line discipline */
|
||||
unsigned char c_cc[NCC]; /* control characters */
|
||||
};
|
||||
|
||||
#endif /* _UAPI_SPARC_TERMIOS_H */
|
||||
|
@ -479,7 +479,9 @@ static void *record_one_cpu(struct device_node *dp, int cpuid, int arg)
|
||||
ncpus_probed++;
|
||||
#ifdef CONFIG_SMP
|
||||
set_cpu_present(cpuid, true);
|
||||
set_cpu_possible(cpuid, true);
|
||||
|
||||
if (num_possible_cpus() < nr_cpu_ids)
|
||||
set_cpu_possible(cpuid, true);
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
|
@ -688,7 +688,6 @@ void __init setup_arch(char **cmdline_p)
|
||||
|
||||
paging_init();
|
||||
init_sparc64_elf_hwcap();
|
||||
smp_fill_in_cpu_possible_map();
|
||||
/*
|
||||
* Once the OF device tree and MDESC have been setup and nr_cpus has
|
||||
* been parsed, we know the list of possible cpus. Therefore we can
|
||||
|
@ -1213,20 +1213,6 @@ void __init smp_setup_processor_id(void)
|
||||
xcall_deliver_impl = hypervisor_xcall_deliver;
|
||||
}
|
||||
|
||||
void __init smp_fill_in_cpu_possible_map(void)
|
||||
{
|
||||
int possible_cpus = num_possible_cpus();
|
||||
int i;
|
||||
|
||||
if (possible_cpus > nr_cpu_ids)
|
||||
possible_cpus = nr_cpu_ids;
|
||||
|
||||
for (i = 0; i < possible_cpus; i++)
|
||||
set_cpu_possible(i, true);
|
||||
for (; i < NR_CPUS; i++)
|
||||
set_cpu_possible(i, false);
|
||||
}
|
||||
|
||||
void smp_fill_in_sib_core_maps(void)
|
||||
{
|
||||
unsigned int i;
|
||||
|
@ -683,24 +683,26 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_port *port,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
*winch = ((struct winch) { .list = LIST_HEAD_INIT(winch->list),
|
||||
.fd = fd,
|
||||
*winch = ((struct winch) { .fd = fd,
|
||||
.tty_fd = tty_fd,
|
||||
.pid = pid,
|
||||
.port = port,
|
||||
.stack = stack });
|
||||
|
||||
spin_lock(&winch_handler_lock);
|
||||
list_add(&winch->list, &winch_handlers);
|
||||
spin_unlock(&winch_handler_lock);
|
||||
|
||||
if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt,
|
||||
IRQF_SHARED, "winch", winch) < 0) {
|
||||
printk(KERN_ERR "register_winch_irq - failed to register "
|
||||
"IRQ\n");
|
||||
spin_lock(&winch_handler_lock);
|
||||
list_del(&winch->list);
|
||||
spin_unlock(&winch_handler_lock);
|
||||
goto out_free;
|
||||
}
|
||||
|
||||
spin_lock(&winch_handler_lock);
|
||||
list_add(&winch->list, &winch_handlers);
|
||||
spin_unlock(&winch_handler_lock);
|
||||
|
||||
return;
|
||||
|
||||
out_free:
|
||||
|
@ -1147,7 +1147,7 @@ static int __init ubd_init(void)
|
||||
|
||||
if (irq_req_buffer == NULL) {
|
||||
printk(KERN_ERR "Failed to initialize ubd buffering\n");
|
||||
return -1;
|
||||
return -ENOMEM;
|
||||
}
|
||||
io_req_buffer = kmalloc(
|
||||
sizeof(struct io_thread_req *) * UBD_REQ_BUFFER_SIZE,
|
||||
@ -1158,7 +1158,7 @@ static int __init ubd_init(void)
|
||||
|
||||
if (io_req_buffer == NULL) {
|
||||
printk(KERN_ERR "Failed to initialize ubd buffering\n");
|
||||
return -1;
|
||||
return -ENOMEM;
|
||||
}
|
||||
platform_driver_register(&ubd_driver);
|
||||
mutex_lock(&ubd_lock);
|
||||
|
@ -15,8 +15,6 @@ typedef struct mm_context {
|
||||
struct page *stub_pages[2];
|
||||
} mm_context_t;
|
||||
|
||||
extern void __switch_mm(struct mm_id * mm_idp);
|
||||
|
||||
/* Avoid tangled inclusion with asm/ldt.h */
|
||||
extern long init_new_ldt(struct mm_context *to_mm, struct mm_context *from_mm);
|
||||
extern void free_ldt(struct mm_context *mm);
|
||||
|
@ -14,4 +14,6 @@ struct mm_id {
|
||||
unsigned long stack;
|
||||
};
|
||||
|
||||
void __switch_mm(struct mm_id *mm_idp);
|
||||
|
||||
#endif
|
||||
|
@ -370,6 +370,7 @@ config UNWINDER_ORC
|
||||
|
||||
config UNWINDER_FRAME_POINTER
|
||||
bool "Frame pointer unwinder"
|
||||
select ARCH_WANT_FRAME_POINTERS
|
||||
select FRAME_POINTER
|
||||
---help---
|
||||
This option enables the frame pointer unwinder for unwinding kernel
|
||||
@ -397,8 +398,4 @@ config UNWINDER_GUESS
|
||||
|
||||
endchoice
|
||||
|
||||
config FRAME_POINTER
|
||||
depends on !UNWINDER_ORC && !UNWINDER_GUESS
|
||||
bool
|
||||
|
||||
endmenu
|
||||
|
@ -6,7 +6,6 @@
|
||||
#include <asm/alternative.h>
|
||||
#include <uapi/asm/kvm_para.h>
|
||||
|
||||
extern void kvmclock_init(void);
|
||||
extern int kvm_register_clock(char *txt);
|
||||
|
||||
#ifdef CONFIG_KVM_GUEST
|
||||
@ -86,13 +85,14 @@ static inline long kvm_hypercall4(unsigned int nr, unsigned long p1,
|
||||
}
|
||||
|
||||
#ifdef CONFIG_KVM_GUEST
|
||||
void kvmclock_init(void);
|
||||
void kvmclock_disable(void);
|
||||
bool kvm_para_available(void);
|
||||
unsigned int kvm_arch_para_features(void);
|
||||
void __init kvm_guest_init(void);
|
||||
void kvm_async_pf_task_wait(u32 token, int interrupt_kernel);
|
||||
void kvm_async_pf_task_wake(u32 token);
|
||||
u32 kvm_read_and_reset_pf_reason(void);
|
||||
extern void kvm_disable_steal_time(void);
|
||||
|
||||
#ifdef CONFIG_PARAVIRT_SPINLOCKS
|
||||
void __init kvm_spinlock_init(void);
|
||||
@ -122,10 +122,6 @@ static inline u32 kvm_read_and_reset_pf_reason(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void kvm_disable_steal_time(void)
|
||||
{
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_X86_KVM_PARA_H */
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/nmi.h>
|
||||
#include <linux/swait.h>
|
||||
#include <linux/syscore_ops.h>
|
||||
#include <asm/timer.h>
|
||||
#include <asm/cpu.h>
|
||||
#include <asm/traps.h>
|
||||
@ -46,6 +47,7 @@
|
||||
#include <asm/apicdef.h>
|
||||
#include <asm/hypervisor.h>
|
||||
#include <asm/kvm_guest.h>
|
||||
#include <asm/reboot.h>
|
||||
|
||||
static int kvmapf = 1;
|
||||
|
||||
@ -376,6 +378,14 @@ static void kvm_pv_disable_apf(void)
|
||||
smp_processor_id());
|
||||
}
|
||||
|
||||
static void kvm_disable_steal_time(void)
|
||||
{
|
||||
if (!has_steal_clock)
|
||||
return;
|
||||
|
||||
wrmsr(MSR_KVM_STEAL_TIME, 0, 0);
|
||||
}
|
||||
|
||||
static void kvm_pv_guest_cpu_reboot(void *unused)
|
||||
{
|
||||
/*
|
||||
@ -418,12 +428,25 @@ static u64 kvm_steal_clock(int cpu)
|
||||
return steal;
|
||||
}
|
||||
|
||||
void kvm_disable_steal_time(void)
|
||||
static void kvm_guest_cpu_offline(bool shutdown)
|
||||
{
|
||||
if (!has_steal_clock)
|
||||
return;
|
||||
kvm_disable_steal_time();
|
||||
if (kvm_para_has_feature(KVM_FEATURE_PV_EOI))
|
||||
wrmsrl(MSR_KVM_PV_EOI_EN, 0);
|
||||
kvm_pv_disable_apf();
|
||||
if (!shutdown)
|
||||
apf_task_wake_all();
|
||||
kvmclock_disable();
|
||||
}
|
||||
|
||||
wrmsr(MSR_KVM_STEAL_TIME, 0, 0);
|
||||
static int kvm_cpu_online(unsigned int cpu)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
kvm_guest_cpu_init();
|
||||
local_irq_restore(flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
@ -434,37 +457,54 @@ static void __init kvm_smp_prepare_boot_cpu(void)
|
||||
kvm_spinlock_init();
|
||||
}
|
||||
|
||||
static void kvm_guest_cpu_offline(void)
|
||||
{
|
||||
kvm_disable_steal_time();
|
||||
if (kvm_para_has_feature(KVM_FEATURE_PV_EOI))
|
||||
wrmsrl(MSR_KVM_PV_EOI_EN, 0);
|
||||
kvm_pv_disable_apf();
|
||||
apf_task_wake_all();
|
||||
}
|
||||
|
||||
static int kvm_cpu_online(unsigned int cpu)
|
||||
{
|
||||
local_irq_disable();
|
||||
kvm_guest_cpu_init();
|
||||
local_irq_enable();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int kvm_cpu_down_prepare(unsigned int cpu)
|
||||
{
|
||||
local_irq_disable();
|
||||
kvm_guest_cpu_offline();
|
||||
local_irq_enable();
|
||||
unsigned long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
kvm_guest_cpu_offline(false);
|
||||
local_irq_restore(flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static int kvm_suspend(void)
|
||||
{
|
||||
kvm_guest_cpu_offline(false);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void kvm_resume(void)
|
||||
{
|
||||
kvm_cpu_online(raw_smp_processor_id());
|
||||
}
|
||||
|
||||
static struct syscore_ops kvm_syscore_ops = {
|
||||
.suspend = kvm_suspend,
|
||||
.resume = kvm_resume,
|
||||
};
|
||||
|
||||
static void __init kvm_apf_trap_init(void)
|
||||
{
|
||||
update_intr_gate(X86_TRAP_PF, async_page_fault);
|
||||
}
|
||||
|
||||
/*
|
||||
* After a PV feature is registered, the host will keep writing to the
|
||||
* registered memory location. If the guest happens to shutdown, this memory
|
||||
* won't be valid. In cases like kexec, in which you install a new kernel, this
|
||||
* means a random memory location will be kept being written.
|
||||
*/
|
||||
#ifdef CONFIG_KEXEC_CORE
|
||||
static void kvm_crash_shutdown(struct pt_regs *regs)
|
||||
{
|
||||
kvm_guest_cpu_offline(true);
|
||||
native_machine_crash_shutdown(regs);
|
||||
}
|
||||
#endif
|
||||
|
||||
void __init kvm_guest_init(void)
|
||||
{
|
||||
int i;
|
||||
@ -499,6 +539,12 @@ void __init kvm_guest_init(void)
|
||||
kvm_guest_cpu_init();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_KEXEC_CORE
|
||||
machine_ops.crash_shutdown = kvm_crash_shutdown;
|
||||
#endif
|
||||
|
||||
register_syscore_ops(&kvm_syscore_ops);
|
||||
|
||||
/*
|
||||
* Hard lockup detection is enabled by default. Disable it, as guests
|
||||
* can get false positives too easily, for example if the host is
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include <linux/sched/clock.h>
|
||||
|
||||
#include <asm/x86_init.h>
|
||||
#include <asm/reboot.h>
|
||||
#include <asm/kvmclock.h>
|
||||
|
||||
static int kvmclock __ro_after_init = 1;
|
||||
@ -220,28 +219,9 @@ static void kvm_setup_secondary_clock(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* After the clock is registered, the host will keep writing to the
|
||||
* registered memory location. If the guest happens to shutdown, this memory
|
||||
* won't be valid. In cases like kexec, in which you install a new kernel, this
|
||||
* means a random memory location will be kept being written. So before any
|
||||
* kind of shutdown from our side, we unregister the clock by writing anything
|
||||
* that does not have the 'enable' bit set in the msr
|
||||
*/
|
||||
#ifdef CONFIG_KEXEC_CORE
|
||||
static void kvm_crash_shutdown(struct pt_regs *regs)
|
||||
void kvmclock_disable(void)
|
||||
{
|
||||
native_write_msr(msr_kvm_system_time, 0, 0);
|
||||
kvm_disable_steal_time();
|
||||
native_machine_crash_shutdown(regs);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void kvm_shutdown(void)
|
||||
{
|
||||
native_write_msr(msr_kvm_system_time, 0, 0);
|
||||
kvm_disable_steal_time();
|
||||
native_machine_shutdown();
|
||||
}
|
||||
|
||||
void __init kvmclock_init(void)
|
||||
@ -297,10 +277,6 @@ void __init kvmclock_init(void)
|
||||
#endif
|
||||
x86_platform.save_sched_clock_state = kvm_save_sched_clock_state;
|
||||
x86_platform.restore_sched_clock_state = kvm_restore_sched_clock_state;
|
||||
machine_ops.shutdown = kvm_shutdown;
|
||||
#ifdef CONFIG_KEXEC_CORE
|
||||
machine_ops.crash_shutdown = kvm_crash_shutdown;
|
||||
#endif
|
||||
kvm_get_preset_lpj();
|
||||
clocksource_register_hz(&kvm_clock, NSEC_PER_SEC);
|
||||
pv_info.name = "KVM";
|
||||
|
@ -148,7 +148,7 @@ AVXcode:
|
||||
65: SEG=GS (Prefix)
|
||||
66: Operand-Size (Prefix)
|
||||
67: Address-Size (Prefix)
|
||||
68: PUSH Iz (d64)
|
||||
68: PUSH Iz
|
||||
69: IMUL Gv,Ev,Iz
|
||||
6a: PUSH Ib (d64)
|
||||
6b: IMUL Gv,Ev,Ib
|
||||
|
@ -672,6 +672,15 @@ static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel,
|
||||
if (!(sec_applies->shdr.sh_flags & SHF_ALLOC)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Do not perform relocations in .notes sections; any
|
||||
* values there are meant for pre-boot consumption (e.g.
|
||||
* startup_xen).
|
||||
*/
|
||||
if (sec_applies->shdr.sh_type == SHT_NOTE)
|
||||
continue;
|
||||
|
||||
sh_symtab = sec_symtab->symtab;
|
||||
sym_strtab = sec_symtab->link->strtab;
|
||||
for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) {
|
||||
|
@ -568,12 +568,6 @@ static int aead_accept_parent_nokey(void *private, struct sock *sk)
|
||||
|
||||
INIT_LIST_HEAD(&ctx->tsgl_list);
|
||||
ctx->len = len;
|
||||
ctx->used = 0;
|
||||
atomic_set(&ctx->rcvused, 0);
|
||||
ctx->more = 0;
|
||||
ctx->merge = 0;
|
||||
ctx->enc = 0;
|
||||
ctx->aead_assoclen = 0;
|
||||
af_alg_init_completion(&ctx->completion);
|
||||
|
||||
ask->private = ctx;
|
||||
|
@ -371,6 +371,7 @@ static int skcipher_accept_parent_nokey(void *private, struct sock *sk)
|
||||
ctx = sock_kmalloc(sk, len, GFP_KERNEL);
|
||||
if (!ctx)
|
||||
return -ENOMEM;
|
||||
memset(ctx, 0, len);
|
||||
|
||||
ctx->iv = sock_kmalloc(sk, crypto_skcipher_ivsize(skcipher),
|
||||
GFP_KERNEL);
|
||||
@ -378,16 +379,10 @@ static int skcipher_accept_parent_nokey(void *private, struct sock *sk)
|
||||
sock_kfree_s(sk, ctx, len);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
memset(ctx->iv, 0, crypto_skcipher_ivsize(skcipher));
|
||||
|
||||
INIT_LIST_HEAD(&ctx->tsgl_list);
|
||||
ctx->len = len;
|
||||
ctx->used = 0;
|
||||
atomic_set(&ctx->rcvused, 0);
|
||||
ctx->more = 0;
|
||||
ctx->merge = 0;
|
||||
ctx->enc = 0;
|
||||
af_alg_init_completion(&ctx->completion);
|
||||
|
||||
ask->private = ctx;
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
ccflags-y := -D_LINUX -DBUILDING_ACPICA
|
||||
ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT
|
||||
CFLAGS_tbfind.o += $(call cc-disable-warning, stringop-truncation)
|
||||
|
||||
# use acpi.o to put all files here into acpi.o modparam namespace
|
||||
obj-y += acpi.o
|
||||
|
@ -546,7 +546,7 @@ struct binder_proc {
|
||||
struct list_head todo;
|
||||
struct binder_stats stats;
|
||||
struct list_head delivered_death;
|
||||
int max_threads;
|
||||
u32 max_threads;
|
||||
int requested_threads;
|
||||
int requested_threads_started;
|
||||
atomic_t tmp_ref;
|
||||
@ -5252,7 +5252,7 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||
goto err;
|
||||
break;
|
||||
case BINDER_SET_MAX_THREADS: {
|
||||
int max_threads;
|
||||
u32 max_threads;
|
||||
|
||||
if (copy_from_user(&max_threads, ubuf,
|
||||
sizeof(max_threads))) {
|
||||
|
@ -128,8 +128,6 @@ static int legacy_port[NR_HOST] = { 0x1f0, 0x170, 0x1e8, 0x168, 0x1e0, 0x160 };
|
||||
static struct legacy_probe probe_list[NR_HOST];
|
||||
static struct legacy_data legacy_data[NR_HOST];
|
||||
static struct ata_host *legacy_host[NR_HOST];
|
||||
static int nr_legacy_host;
|
||||
|
||||
|
||||
static int probe_all; /* Set to check all ISA port ranges */
|
||||
static int ht6560a; /* HT 6560A on primary 1, second 2, both 3 */
|
||||
@ -1253,9 +1251,11 @@ static __exit void legacy_exit(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < nr_legacy_host; i++) {
|
||||
for (i = 0; i < NR_HOST; i++) {
|
||||
struct legacy_data *ld = &legacy_data[i];
|
||||
ata_host_detach(legacy_host[i]);
|
||||
|
||||
if (legacy_host[i])
|
||||
ata_host_detach(legacy_host[i]);
|
||||
platform_device_unregister(ld->platform_dev);
|
||||
}
|
||||
}
|
||||
|
@ -2054,10 +2054,13 @@ static void __exit null_exit(void)
|
||||
blk_mq_free_tag_set(&tag_set);
|
||||
|
||||
kmem_cache_destroy(ppa_cache);
|
||||
|
||||
mutex_destroy(&lock);
|
||||
}
|
||||
|
||||
module_init(null_init);
|
||||
module_exit(null_exit);
|
||||
|
||||
MODULE_AUTHOR("Jens Axboe <axboe@kernel.dk>");
|
||||
MODULE_DESCRIPTION("multi queue aware block test driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
@ -300,28 +300,35 @@ static int register_device(int minor, struct pp_struct *pp)
|
||||
if (!port) {
|
||||
pr_warn("%s: no associated port!\n", name);
|
||||
rc = -ENXIO;
|
||||
goto err;
|
||||
goto err_free_name;
|
||||
}
|
||||
|
||||
index = ida_simple_get(&ida_index, 0, 0, GFP_KERNEL);
|
||||
if (index < 0) {
|
||||
pr_warn("%s: failed to get index!\n", name);
|
||||
rc = index;
|
||||
goto err_put_port;
|
||||
}
|
||||
|
||||
memset(&ppdev_cb, 0, sizeof(ppdev_cb));
|
||||
ppdev_cb.irq_func = pp_irq;
|
||||
ppdev_cb.flags = (pp->flags & PP_EXCL) ? PARPORT_FLAG_EXCL : 0;
|
||||
ppdev_cb.private = pp;
|
||||
pdev = parport_register_dev_model(port, name, &ppdev_cb, index);
|
||||
parport_put_port(port);
|
||||
|
||||
if (!pdev) {
|
||||
pr_warn("%s: failed to register device!\n", name);
|
||||
rc = -ENXIO;
|
||||
ida_simple_remove(&ida_index, index);
|
||||
goto err;
|
||||
goto err_put_port;
|
||||
}
|
||||
|
||||
pp->pdev = pdev;
|
||||
pp->index = index;
|
||||
dev_dbg(&pdev->dev, "registered pardevice\n");
|
||||
err:
|
||||
err_put_port:
|
||||
parport_put_port(port);
|
||||
err_free_name:
|
||||
kfree(name);
|
||||
return rc;
|
||||
}
|
||||
|
@ -506,7 +506,7 @@ static void spu2_dump_omd(u8 *omd, u16 hash_key_len, u16 ciph_key_len,
|
||||
if (hash_iv_len) {
|
||||
packet_log(" Hash IV Length %u bytes\n", hash_iv_len);
|
||||
packet_dump(" hash IV: ", ptr, hash_iv_len);
|
||||
ptr += ciph_key_len;
|
||||
ptr += hash_iv_len;
|
||||
}
|
||||
|
||||
if (ciph_iv_len) {
|
||||
|
@ -33,30 +33,47 @@ struct sp_platform {
|
||||
unsigned int irq_count;
|
||||
};
|
||||
|
||||
static const struct acpi_device_id sp_acpi_match[];
|
||||
static const struct of_device_id sp_of_match[];
|
||||
static const struct sp_dev_vdata dev_vdata[] = {
|
||||
{
|
||||
.bar = 0,
|
||||
#ifdef CONFIG_CRYPTO_DEV_SP_CCP
|
||||
.ccp_vdata = &ccpv3_platform,
|
||||
#endif
|
||||
},
|
||||
};
|
||||
|
||||
static const struct acpi_device_id sp_acpi_match[] = {
|
||||
{ "AMDI0C00", (kernel_ulong_t)&dev_vdata[0] },
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(acpi, sp_acpi_match);
|
||||
|
||||
static const struct of_device_id sp_of_match[] = {
|
||||
{ .compatible = "amd,ccp-seattle-v1a",
|
||||
.data = (const void *)&dev_vdata[0] },
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, sp_of_match);
|
||||
|
||||
static struct sp_dev_vdata *sp_get_of_version(struct platform_device *pdev)
|
||||
{
|
||||
#ifdef CONFIG_OF
|
||||
const struct of_device_id *match;
|
||||
|
||||
match = of_match_node(sp_of_match, pdev->dev.of_node);
|
||||
if (match && match->data)
|
||||
return (struct sp_dev_vdata *)match->data;
|
||||
#endif
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static struct sp_dev_vdata *sp_get_acpi_version(struct platform_device *pdev)
|
||||
{
|
||||
#ifdef CONFIG_ACPI
|
||||
const struct acpi_device_id *match;
|
||||
|
||||
match = acpi_match_device(sp_acpi_match, &pdev->dev);
|
||||
if (match && match->driver_data)
|
||||
return (struct sp_dev_vdata *)match->driver_data;
|
||||
#endif
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -201,41 +218,11 @@ static int sp_platform_resume(struct platform_device *pdev)
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct sp_dev_vdata dev_vdata[] = {
|
||||
{
|
||||
.bar = 0,
|
||||
#ifdef CONFIG_CRYPTO_DEV_SP_CCP
|
||||
.ccp_vdata = &ccpv3_platform,
|
||||
#endif
|
||||
},
|
||||
};
|
||||
|
||||
#ifdef CONFIG_ACPI
|
||||
static const struct acpi_device_id sp_acpi_match[] = {
|
||||
{ "AMDI0C00", (kernel_ulong_t)&dev_vdata[0] },
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(acpi, sp_acpi_match);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id sp_of_match[] = {
|
||||
{ .compatible = "amd,ccp-seattle-v1a",
|
||||
.data = (const void *)&dev_vdata[0] },
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, sp_of_match);
|
||||
#endif
|
||||
|
||||
static struct platform_driver sp_platform_driver = {
|
||||
.driver = {
|
||||
.name = "ccp",
|
||||
#ifdef CONFIG_ACPI
|
||||
.acpi_match_table = sp_acpi_match,
|
||||
#endif
|
||||
#ifdef CONFIG_OF
|
||||
.of_match_table = sp_of_match,
|
||||
#endif
|
||||
},
|
||||
.probe = sp_platform_probe,
|
||||
.remove = sp_platform_remove,
|
||||
|
@ -139,8 +139,7 @@ static void adf_device_reset_worker(struct work_struct *work)
|
||||
if (adf_dev_init(accel_dev) || adf_dev_start(accel_dev)) {
|
||||
/* The device hanged and we can't restart it so stop here */
|
||||
dev_err(&GET_DEV(accel_dev), "Restart device failed\n");
|
||||
if (reset_data->mode == ADF_DEV_RESET_ASYNC ||
|
||||
completion_done(&reset_data->compl))
|
||||
if (reset_data->mode == ADF_DEV_RESET_ASYNC)
|
||||
kfree(reset_data);
|
||||
WARN(1, "QAT: device restart failed. Device is unusable\n");
|
||||
return;
|
||||
@ -148,16 +147,8 @@ static void adf_device_reset_worker(struct work_struct *work)
|
||||
adf_dev_restarted_notify(accel_dev);
|
||||
clear_bit(ADF_STATUS_RESTARTING, &accel_dev->status);
|
||||
|
||||
/*
|
||||
* The dev is back alive. Notify the caller if in sync mode
|
||||
*
|
||||
* If device restart will take a more time than expected,
|
||||
* the schedule_reset() function can timeout and exit. This can be
|
||||
* detected by calling the completion_done() function. In this case
|
||||
* the reset_data structure needs to be freed here.
|
||||
*/
|
||||
if (reset_data->mode == ADF_DEV_RESET_ASYNC ||
|
||||
completion_done(&reset_data->compl))
|
||||
/* The dev is back alive. Notify the caller if in sync mode */
|
||||
if (reset_data->mode == ADF_DEV_RESET_ASYNC)
|
||||
kfree(reset_data);
|
||||
else
|
||||
complete(&reset_data->compl);
|
||||
@ -192,10 +183,10 @@ static int adf_dev_aer_schedule_reset(struct adf_accel_dev *accel_dev,
|
||||
if (!timeout) {
|
||||
dev_err(&GET_DEV(accel_dev),
|
||||
"Reset device timeout expired\n");
|
||||
cancel_work_sync(&reset_data->reset_work);
|
||||
ret = -EFAULT;
|
||||
} else {
|
||||
kfree(reset_data);
|
||||
}
|
||||
kfree(reset_data);
|
||||
return ret;
|
||||
}
|
||||
return 0;
|
||||
|
@ -119,12 +119,12 @@ static void sync_print_obj(struct seq_file *s, struct sync_timeline *obj)
|
||||
|
||||
seq_printf(s, "%s: %d\n", obj->name, obj->value);
|
||||
|
||||
spin_lock_irq(&obj->lock);
|
||||
spin_lock(&obj->lock); /* Caller already disabled IRQ. */
|
||||
list_for_each(pos, &obj->pt_list) {
|
||||
struct sync_pt *pt = container_of(pos, struct sync_pt, link);
|
||||
sync_print_fence(s, &pt->base, false);
|
||||
}
|
||||
spin_unlock_irq(&obj->lock);
|
||||
spin_unlock(&obj->lock);
|
||||
}
|
||||
|
||||
static void sync_print_sync_file(struct seq_file *s,
|
||||
|
@ -595,7 +595,9 @@ static int idma64_probe(struct idma64_chip *chip)
|
||||
|
||||
idma64->dma.dev = chip->sysdev;
|
||||
|
||||
dma_set_max_seg_size(idma64->dma.dev, IDMA64C_CTLH_BLOCK_TS_MASK);
|
||||
ret = dma_set_max_seg_size(idma64->dma.dev, IDMA64C_CTLH_BLOCK_TS_MASK);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = dma_async_device_register(&idma64->dma);
|
||||
if (ret)
|
||||
|
@ -100,7 +100,8 @@ config EXTCON_MAX77843
|
||||
|
||||
config EXTCON_MAX8997
|
||||
tristate "Maxim MAX8997 EXTCON Support"
|
||||
depends on MFD_MAX8997 && IRQ_DOMAIN
|
||||
depends on MFD_MAX8997
|
||||
select IRQ_DOMAIN
|
||||
help
|
||||
If you say yes here you get support for the MUIC device of
|
||||
Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory
|
||||
|
@ -160,9 +160,14 @@ static int dmi_dev_uevent(struct device *dev, struct kobj_uevent_env *env)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void dmi_dev_release(struct device *dev)
|
||||
{
|
||||
kfree(dev);
|
||||
}
|
||||
|
||||
static struct class dmi_class = {
|
||||
.name = "dmi",
|
||||
.dev_release = (void(*)(struct device *)) kfree,
|
||||
.dev_release = dmi_dev_release,
|
||||
.dev_uevent = dmi_dev_uevent,
|
||||
};
|
||||
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/mailbox_client.h>
|
||||
#include <linux/mailbox_controller.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/platform_device.h>
|
||||
@ -88,8 +89,8 @@ int rpi_firmware_property_list(struct rpi_firmware *fw,
|
||||
if (size & 3)
|
||||
return -EINVAL;
|
||||
|
||||
buf = dma_alloc_coherent(fw->cl.dev, PAGE_ALIGN(size), &bus_addr,
|
||||
GFP_ATOMIC);
|
||||
buf = dma_alloc_coherent(fw->chan->mbox->dev, PAGE_ALIGN(size),
|
||||
&bus_addr, GFP_ATOMIC);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -117,7 +118,7 @@ int rpi_firmware_property_list(struct rpi_firmware *fw,
|
||||
ret = -EINVAL;
|
||||
}
|
||||
|
||||
dma_free_coherent(fw->cl.dev, PAGE_ALIGN(size), buf, bus_addr);
|
||||
dma_free_coherent(fw->chan->mbox->dev, PAGE_ALIGN(size), buf, bus_addr);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -26,6 +26,9 @@ static struct mtk_drm_gem_obj *mtk_drm_gem_init(struct drm_device *dev,
|
||||
|
||||
size = round_up(size, PAGE_SIZE);
|
||||
|
||||
if (size == 0)
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
mtk_gem_obj = kzalloc(sizeof(*mtk_gem_obj), GFP_KERNEL);
|
||||
if (!mtk_gem_obj)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
@ -258,6 +258,11 @@ static const struct pci_device_id intel_th_pci_id_table[] = {
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xa76f),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Meteor Lake-S CPU */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xae24),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Raptor Lake-S */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x7a26),
|
||||
|
@ -714,8 +714,11 @@ int stm_register_device(struct device *parent, struct stm_data *stm_data,
|
||||
return -ENOMEM;
|
||||
|
||||
stm->major = register_chrdev(0, stm_data->name, &stm_fops);
|
||||
if (stm->major < 0)
|
||||
goto err_free;
|
||||
if (stm->major < 0) {
|
||||
err = stm->major;
|
||||
vfree(stm);
|
||||
return err;
|
||||
}
|
||||
|
||||
device_initialize(&stm->dev);
|
||||
stm->dev.devt = MKDEV(stm->major, 0);
|
||||
@ -759,10 +762,8 @@ int stm_register_device(struct device *parent, struct stm_data *stm_data,
|
||||
err_device:
|
||||
unregister_chrdev(stm->major, stm_data->name);
|
||||
|
||||
/* matches device_initialize() above */
|
||||
/* calls stm_device_release() */
|
||||
put_device(&stm->dev);
|
||||
err_free:
|
||||
vfree(stm);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
@ -362,7 +362,7 @@ static int ipoib_cm_nonsrq_init_rx(struct net_device *dev, struct ib_cm_id *cm_i
|
||||
if (!rx->rx_ring)
|
||||
return -ENOMEM;
|
||||
|
||||
t = kmalloc(sizeof *t, GFP_KERNEL);
|
||||
t = kmalloc(sizeof(*t), GFP_KERNEL);
|
||||
if (!t) {
|
||||
ret = -ENOMEM;
|
||||
goto err_free_1;
|
||||
@ -431,7 +431,7 @@ static int ipoib_cm_send_rep(struct net_device *dev, struct ib_cm_id *cm_id,
|
||||
data.mtu = cpu_to_be32(IPOIB_CM_BUF_SIZE);
|
||||
|
||||
rep.private_data = &data;
|
||||
rep.private_data_len = sizeof data;
|
||||
rep.private_data_len = sizeof(data);
|
||||
rep.flow_control = 0;
|
||||
rep.rnr_retry_count = req->rnr_retry_count;
|
||||
rep.srq = ipoib_cm_has_srq(dev);
|
||||
@ -449,7 +449,7 @@ static int ipoib_cm_req_handler(struct ib_cm_id *cm_id, struct ib_cm_event *even
|
||||
int ret;
|
||||
|
||||
ipoib_dbg(priv, "REQ arrived\n");
|
||||
p = kzalloc(sizeof *p, GFP_KERNEL);
|
||||
p = kzalloc(sizeof(*p), GFP_KERNEL);
|
||||
if (!p)
|
||||
return -ENOMEM;
|
||||
p->dev = dev;
|
||||
@ -656,7 +656,7 @@ void ipoib_cm_handle_rx_wc(struct net_device *dev, struct ib_wc *wc)
|
||||
}
|
||||
|
||||
ipoib_cm_dma_unmap_rx(priv, frags, rx_ring[wr_id].mapping);
|
||||
memcpy(rx_ring[wr_id].mapping, mapping, (frags + 1) * sizeof *mapping);
|
||||
memcpy(rx_ring[wr_id].mapping, mapping, (frags + 1) * sizeof(*mapping));
|
||||
|
||||
ipoib_dbg_data(priv, "received %d bytes, SLID 0x%04x\n",
|
||||
wc->byte_len, wc->slid);
|
||||
@ -1086,7 +1086,7 @@ static int ipoib_cm_send_req(struct net_device *dev,
|
||||
req.qp_num = qp->qp_num;
|
||||
req.qp_type = qp->qp_type;
|
||||
req.private_data = &data;
|
||||
req.private_data_len = sizeof data;
|
||||
req.private_data_len = sizeof(data);
|
||||
req.flow_control = 0;
|
||||
|
||||
req.starting_psn = 0; /* FIXME */
|
||||
@ -1143,7 +1143,7 @@ static int ipoib_cm_tx_init(struct ipoib_cm_tx *p, u32 qpn,
|
||||
ret = -ENOMEM;
|
||||
goto err_tx;
|
||||
}
|
||||
memset(p->tx_ring, 0, ipoib_sendq_size * sizeof *p->tx_ring);
|
||||
memset(p->tx_ring, 0, ipoib_sendq_size * sizeof(*p->tx_ring));
|
||||
|
||||
p->qp = ipoib_cm_create_tx_qp(p->dev, p);
|
||||
memalloc_noio_restore(noio_flag);
|
||||
@ -1295,7 +1295,7 @@ struct ipoib_cm_tx *ipoib_cm_create_tx(struct net_device *dev, struct ipoib_path
|
||||
struct ipoib_dev_priv *priv = ipoib_priv(dev);
|
||||
struct ipoib_cm_tx *tx;
|
||||
|
||||
tx = kzalloc(sizeof *tx, GFP_ATOMIC);
|
||||
tx = kzalloc(sizeof(*tx), GFP_ATOMIC);
|
||||
if (!tx)
|
||||
return NULL;
|
||||
|
||||
@ -1360,7 +1360,7 @@ static void ipoib_cm_tx_start(struct work_struct *work)
|
||||
neigh->daddr + QPN_AND_OPTIONS_OFFSET);
|
||||
goto free_neigh;
|
||||
}
|
||||
memcpy(&pathrec, &p->path->pathrec, sizeof pathrec);
|
||||
memcpy(&pathrec, &p->path->pathrec, sizeof(pathrec));
|
||||
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
netif_tx_unlock_bh(dev);
|
||||
|
@ -262,15 +262,15 @@ static const struct file_operations ipoib_path_fops = {
|
||||
void ipoib_create_debug_files(struct net_device *dev)
|
||||
{
|
||||
struct ipoib_dev_priv *priv = ipoib_priv(dev);
|
||||
char name[IFNAMSIZ + sizeof "_path"];
|
||||
char name[IFNAMSIZ + sizeof("_path")];
|
||||
|
||||
snprintf(name, sizeof name, "%s_mcg", dev->name);
|
||||
snprintf(name, sizeof(name), "%s_mcg", dev->name);
|
||||
priv->mcg_dentry = debugfs_create_file(name, S_IFREG | S_IRUGO,
|
||||
ipoib_root, dev, &ipoib_mcg_fops);
|
||||
if (!priv->mcg_dentry)
|
||||
ipoib_warn(priv, "failed to create mcg debug file\n");
|
||||
|
||||
snprintf(name, sizeof name, "%s_path", dev->name);
|
||||
snprintf(name, sizeof(name), "%s_path", dev->name);
|
||||
priv->path_dentry = debugfs_create_file(name, S_IFREG | S_IRUGO,
|
||||
ipoib_root, dev, &ipoib_path_fops);
|
||||
if (!priv->path_dentry)
|
||||
|
@ -57,7 +57,7 @@ struct ipoib_ah *ipoib_create_ah(struct net_device *dev,
|
||||
struct ipoib_ah *ah;
|
||||
struct ib_ah *vah;
|
||||
|
||||
ah = kmalloc(sizeof *ah, GFP_KERNEL);
|
||||
ah = kmalloc(sizeof(*ah), GFP_KERNEL);
|
||||
if (!ah)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
@ -202,7 +202,7 @@ static void ipoib_ib_handle_rx_wc(struct net_device *dev, struct ib_wc *wc)
|
||||
}
|
||||
|
||||
memcpy(mapping, priv->rx_ring[wr_id].mapping,
|
||||
IPOIB_UD_RX_SG * sizeof *mapping);
|
||||
IPOIB_UD_RX_SG * sizeof(*mapping));
|
||||
|
||||
/*
|
||||
* If we can't allocate a new RX buffer, dump
|
||||
|
@ -636,7 +636,7 @@ struct ipoib_path_iter *ipoib_path_iter_init(struct net_device *dev)
|
||||
{
|
||||
struct ipoib_path_iter *iter;
|
||||
|
||||
iter = kmalloc(sizeof *iter, GFP_KERNEL);
|
||||
iter = kmalloc(sizeof(*iter), GFP_KERNEL);
|
||||
if (!iter)
|
||||
return NULL;
|
||||
|
||||
@ -866,7 +866,7 @@ static struct ipoib_path *path_rec_create(struct net_device *dev, void *gid)
|
||||
if (!priv->broadcast)
|
||||
return NULL;
|
||||
|
||||
path = kzalloc(sizeof *path, GFP_ATOMIC);
|
||||
path = kzalloc(sizeof(*path), GFP_ATOMIC);
|
||||
if (!path)
|
||||
return NULL;
|
||||
|
||||
@ -1184,7 +1184,7 @@ static int ipoib_hard_header(struct sk_buff *skb,
|
||||
{
|
||||
struct ipoib_header *header;
|
||||
|
||||
header = skb_push(skb, sizeof *header);
|
||||
header = skb_push(skb, sizeof(*header));
|
||||
|
||||
header->proto = htons(type);
|
||||
header->reserved = 0;
|
||||
@ -1352,7 +1352,7 @@ static struct ipoib_neigh *ipoib_neigh_ctor(u8 *daddr,
|
||||
{
|
||||
struct ipoib_neigh *neigh;
|
||||
|
||||
neigh = kzalloc(sizeof *neigh, GFP_ATOMIC);
|
||||
neigh = kzalloc(sizeof(*neigh), GFP_ATOMIC);
|
||||
if (!neigh)
|
||||
return NULL;
|
||||
|
||||
@ -2329,7 +2329,7 @@ static void ipoib_add_one(struct ib_device *device)
|
||||
int p;
|
||||
int count = 0;
|
||||
|
||||
dev_list = kmalloc(sizeof *dev_list, GFP_KERNEL);
|
||||
dev_list = kmalloc(sizeof(*dev_list), GFP_KERNEL);
|
||||
if (!dev_list)
|
||||
return;
|
||||
|
||||
|
@ -140,7 +140,7 @@ static struct ipoib_mcast *ipoib_mcast_alloc(struct net_device *dev,
|
||||
{
|
||||
struct ipoib_mcast *mcast;
|
||||
|
||||
mcast = kzalloc(sizeof *mcast, can_sleep ? GFP_KERNEL : GFP_ATOMIC);
|
||||
mcast = kzalloc(sizeof(*mcast), can_sleep ? GFP_KERNEL : GFP_ATOMIC);
|
||||
if (!mcast)
|
||||
return NULL;
|
||||
|
||||
@ -916,7 +916,7 @@ void ipoib_mcast_restart_task(struct work_struct *work)
|
||||
if (!ipoib_mcast_addr_is_valid(ha->addr, dev->broadcast))
|
||||
continue;
|
||||
|
||||
memcpy(mgid.raw, ha->addr + 4, sizeof mgid);
|
||||
memcpy(mgid.raw, ha->addr + 4, sizeof(mgid));
|
||||
|
||||
mcast = __ipoib_mcast_find(dev, &mgid);
|
||||
if (!mcast || test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags)) {
|
||||
@ -997,7 +997,7 @@ struct ipoib_mcast_iter *ipoib_mcast_iter_init(struct net_device *dev)
|
||||
{
|
||||
struct ipoib_mcast_iter *iter;
|
||||
|
||||
iter = kmalloc(sizeof *iter, GFP_KERNEL);
|
||||
iter = kmalloc(sizeof(*iter), GFP_KERNEL);
|
||||
if (!iter)
|
||||
return NULL;
|
||||
|
||||
|
@ -52,7 +52,7 @@ int ipoib_mcast_attach(struct net_device *dev, struct ib_device *hca,
|
||||
|
||||
if (set_qkey) {
|
||||
ret = -ENOMEM;
|
||||
qp_attr = kmalloc(sizeof *qp_attr, GFP_KERNEL);
|
||||
qp_attr = kmalloc(sizeof(*qp_attr), GFP_KERNEL);
|
||||
if (!qp_attr)
|
||||
goto out;
|
||||
|
||||
|
@ -130,8 +130,12 @@ int ipoib_vlan_add(struct net_device *pdev, unsigned short pkey)
|
||||
if (test_bit(IPOIB_FLAG_GOING_DOWN, &ppriv->flags))
|
||||
return -EPERM;
|
||||
|
||||
snprintf(intf_name, sizeof intf_name, "%s.%04x",
|
||||
ppriv->dev->name, pkey);
|
||||
/* If you increase IFNAMSIZ, update snprintf below
|
||||
* to allow longer names.
|
||||
*/
|
||||
BUILD_BUG_ON(IFNAMSIZ != 16);
|
||||
snprintf(intf_name, sizeof(intf_name), "%.10s.%04x", ppriv->dev->name,
|
||||
pkey);
|
||||
|
||||
if (!mutex_trylock(&ppriv->sysfs_mutex))
|
||||
return restart_syscall();
|
||||
|
@ -47,8 +47,8 @@ struct ims_pcu_backlight {
|
||||
#define IMS_PCU_PART_NUMBER_LEN 15
|
||||
#define IMS_PCU_SERIAL_NUMBER_LEN 8
|
||||
#define IMS_PCU_DOM_LEN 8
|
||||
#define IMS_PCU_FW_VERSION_LEN (9 + 1)
|
||||
#define IMS_PCU_BL_VERSION_LEN (9 + 1)
|
||||
#define IMS_PCU_FW_VERSION_LEN 16
|
||||
#define IMS_PCU_BL_VERSION_LEN 16
|
||||
#define IMS_PCU_BL_RESET_REASON_LEN (2 + 1)
|
||||
|
||||
#define IMS_PCU_PCU_B_DEVICE_ID 5
|
||||
|
@ -22,7 +22,8 @@
|
||||
|
||||
#define VIB_MAX_LEVEL_mV (3100)
|
||||
#define VIB_MIN_LEVEL_mV (1200)
|
||||
#define VIB_MAX_LEVELS (VIB_MAX_LEVEL_mV - VIB_MIN_LEVEL_mV)
|
||||
#define VIB_PER_STEP_mV (100)
|
||||
#define VIB_MAX_LEVELS (VIB_MAX_LEVEL_mV - VIB_MIN_LEVEL_mV + VIB_PER_STEP_mV)
|
||||
|
||||
#define MAX_FF_SPEED 0xff
|
||||
|
||||
@ -126,10 +127,10 @@ static void pm8xxx_work_handler(struct work_struct *work)
|
||||
vib->active = true;
|
||||
vib->level = ((VIB_MAX_LEVELS * vib->speed) / MAX_FF_SPEED) +
|
||||
VIB_MIN_LEVEL_mV;
|
||||
vib->level /= 100;
|
||||
vib->level /= VIB_PER_STEP_mV;
|
||||
} else {
|
||||
vib->active = false;
|
||||
vib->level = VIB_MIN_LEVEL_mV / 100;
|
||||
vib->level = VIB_MIN_LEVEL_mV / VIB_PER_STEP_mV;
|
||||
}
|
||||
|
||||
pm8xxx_vib_set(vib, vib->active);
|
||||
|
@ -165,7 +165,7 @@ static int alpine_msix_middle_domain_alloc(struct irq_domain *domain,
|
||||
return 0;
|
||||
|
||||
err_sgi:
|
||||
irq_domain_free_irqs_parent(domain, virq, i - 1);
|
||||
irq_domain_free_irqs_parent(domain, virq, i);
|
||||
alpine_msix_free_sgi(priv, sgi, nr_irqs);
|
||||
return err;
|
||||
}
|
||||
|
@ -20,18 +20,16 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/proc_fs.h>
|
||||
|
||||
#include <asm/macintosh.h>
|
||||
#include <asm/macints.h>
|
||||
#include <asm/macintosh.h>
|
||||
#include <asm/macints.h>
|
||||
#include <asm/mac_iop.h>
|
||||
#include <asm/mac_oss.h>
|
||||
#include <asm/adb_iop.h>
|
||||
|
||||
#include <linux/adb.h>
|
||||
#include <linux/adb.h>
|
||||
|
||||
/*#define DEBUG_ADB_IOP*/
|
||||
|
||||
extern void iop_ism_irq(int, void *);
|
||||
|
||||
static struct adb_request *current_req;
|
||||
static struct adb_request *last_req;
|
||||
#if 0
|
||||
@ -40,9 +38,9 @@ static unsigned char *reply_ptr;
|
||||
#endif
|
||||
|
||||
static enum adb_iop_state {
|
||||
idle,
|
||||
sending,
|
||||
awaiting_reply
|
||||
idle,
|
||||
sending,
|
||||
awaiting_reply
|
||||
} adb_iop_state;
|
||||
|
||||
static void adb_iop_start(void);
|
||||
@ -68,7 +66,8 @@ static void adb_iop_end_req(struct adb_request *req, int state)
|
||||
{
|
||||
req->complete = 1;
|
||||
current_req = req->next;
|
||||
if (req->done) (*req->done)(req);
|
||||
if (req->done)
|
||||
(*req->done)(req);
|
||||
adb_iop_state = state;
|
||||
}
|
||||
|
||||
@ -102,7 +101,7 @@ static void adb_iop_complete(struct iop_msg *msg)
|
||||
|
||||
static void adb_iop_listen(struct iop_msg *msg)
|
||||
{
|
||||
struct adb_iopmsg *amsg = (struct adb_iopmsg *) msg->message;
|
||||
struct adb_iopmsg *amsg = (struct adb_iopmsg *)msg->message;
|
||||
struct adb_request *req;
|
||||
unsigned long flags;
|
||||
#ifdef DEBUG_ADB_IOP
|
||||
@ -115,9 +114,9 @@ static void adb_iop_listen(struct iop_msg *msg)
|
||||
|
||||
#ifdef DEBUG_ADB_IOP
|
||||
printk("adb_iop_listen %p: rcvd packet, %d bytes: %02X %02X", req,
|
||||
(uint) amsg->count + 2, (uint) amsg->flags, (uint) amsg->cmd);
|
||||
(uint)amsg->count + 2, (uint)amsg->flags, (uint)amsg->cmd);
|
||||
for (i = 0; i < amsg->count; i++)
|
||||
printk(" %02X", (uint) amsg->data[i]);
|
||||
printk(" %02X", (uint)amsg->data[i]);
|
||||
printk("\n");
|
||||
#endif
|
||||
|
||||
@ -170,14 +169,15 @@ static void adb_iop_start(void)
|
||||
|
||||
/* get the packet to send */
|
||||
req = current_req;
|
||||
if (!req) return;
|
||||
if (!req)
|
||||
return;
|
||||
|
||||
local_irq_save(flags);
|
||||
|
||||
#ifdef DEBUG_ADB_IOP
|
||||
printk("adb_iop_start %p: sending packet, %d bytes:", req, req->nbytes);
|
||||
for (i = 0 ; i < req->nbytes ; i++)
|
||||
printk(" %02X", (uint) req->data[i]);
|
||||
for (i = 0; i < req->nbytes; i++)
|
||||
printk(" %02X", (uint)req->data[i]);
|
||||
printk("\n");
|
||||
#endif
|
||||
|
||||
@ -198,13 +198,14 @@ static void adb_iop_start(void)
|
||||
/* Now send it. The IOP manager will call adb_iop_complete */
|
||||
/* when the packet has been sent. */
|
||||
|
||||
iop_send_message(ADB_IOP, ADB_CHAN, req,
|
||||
sizeof(amsg), (__u8 *) &amsg, adb_iop_complete);
|
||||
iop_send_message(ADB_IOP, ADB_CHAN, req, sizeof(amsg), (__u8 *)&amsg,
|
||||
adb_iop_complete);
|
||||
}
|
||||
|
||||
int adb_iop_probe(void)
|
||||
{
|
||||
if (!iop_ism_present) return -ENODEV;
|
||||
if (!iop_ism_present)
|
||||
return -ENODEV;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -220,10 +221,12 @@ int adb_iop_send_request(struct adb_request *req, int sync)
|
||||
int err;
|
||||
|
||||
err = adb_iop_write(req);
|
||||
if (err) return err;
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (sync) {
|
||||
while (!req->complete) adb_iop_poll();
|
||||
while (!req->complete)
|
||||
adb_iop_poll();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -253,7 +256,9 @@ static int adb_iop_write(struct adb_request *req)
|
||||
}
|
||||
|
||||
local_irq_restore(flags);
|
||||
if (adb_iop_state == idle) adb_iop_start();
|
||||
|
||||
if (adb_iop_state == idle)
|
||||
adb_iop_start();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -265,8 +270,9 @@ int adb_iop_autopoll(int devs)
|
||||
|
||||
void adb_iop_poll(void)
|
||||
{
|
||||
if (adb_iop_state == idle) adb_iop_start();
|
||||
iop_ism_irq(0, (void *) ADB_IOP);
|
||||
if (adb_iop_state == idle)
|
||||
adb_iop_start();
|
||||
iop_ism_irq_poll(ADB_IOP);
|
||||
}
|
||||
|
||||
int adb_iop_reset_bus(void)
|
||||
|
@ -12,7 +12,7 @@
|
||||
*
|
||||
* 1999-08-02 (jmt) - Initial rewrite for Unified ADB.
|
||||
* 2000-03-29 Tony Mantler <tonym@mac.linux-m68k.org>
|
||||
* - Big overhaul, should actually work now.
|
||||
* - Big overhaul, should actually work now.
|
||||
* 2006-12-31 Finn Thain - Another overhaul.
|
||||
*
|
||||
* Suggested reading:
|
||||
@ -23,7 +23,7 @@
|
||||
* Apple's "ADB Analyzer" bus sniffer is invaluable:
|
||||
* ftp://ftp.apple.com/developer/Tool_Chest/Devices_-_Hardware/Apple_Desktop_Bus/
|
||||
*/
|
||||
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/errno.h>
|
||||
@ -77,7 +77,7 @@ static volatile unsigned char *via;
|
||||
#define ST_ODD 0x20 /* ADB state: odd data byte */
|
||||
#define ST_IDLE 0x30 /* ADB state: idle, nothing to send */
|
||||
|
||||
static int macii_init_via(void);
|
||||
static int macii_init_via(void);
|
||||
static void macii_start(void);
|
||||
static irqreturn_t macii_interrupt(int irq, void *arg);
|
||||
static void macii_queue_poll(void);
|
||||
@ -120,27 +120,11 @@ static int srq_asserted; /* have to poll for the device that asserted it */
|
||||
static int command_byte; /* the most recent command byte transmitted */
|
||||
static int autopoll_devs; /* bits set are device addresses to be polled */
|
||||
|
||||
/* Sanity check for request queue. Doesn't check for cycles. */
|
||||
static int request_is_queued(struct adb_request *req) {
|
||||
struct adb_request *cur;
|
||||
unsigned long flags;
|
||||
local_irq_save(flags);
|
||||
cur = current_req;
|
||||
while (cur) {
|
||||
if (cur == req) {
|
||||
local_irq_restore(flags);
|
||||
return 1;
|
||||
}
|
||||
cur = cur->next;
|
||||
}
|
||||
local_irq_restore(flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Check for MacII style ADB */
|
||||
static int macii_probe(void)
|
||||
{
|
||||
if (macintosh_config->adb_type != MAC_ADB_II) return -ENODEV;
|
||||
if (macintosh_config->adb_type != MAC_ADB_II)
|
||||
return -ENODEV;
|
||||
|
||||
via = via1;
|
||||
|
||||
@ -151,25 +135,22 @@ static int macii_probe(void)
|
||||
/* Initialize the driver */
|
||||
int macii_init(void)
|
||||
{
|
||||
unsigned long flags;
|
||||
int err;
|
||||
|
||||
local_irq_save(flags);
|
||||
|
||||
|
||||
err = macii_init_via();
|
||||
if (err) goto out;
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = request_irq(IRQ_MAC_ADB, macii_interrupt, 0, "ADB",
|
||||
macii_interrupt);
|
||||
if (err) goto out;
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
macii_state = idle;
|
||||
out:
|
||||
local_irq_restore(flags);
|
||||
return err;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* initialize the hardware */
|
||||
/* initialize the hardware */
|
||||
static int macii_init_via(void)
|
||||
{
|
||||
unsigned char x;
|
||||
@ -179,7 +160,7 @@ static int macii_init_via(void)
|
||||
|
||||
/* Set up state: idle */
|
||||
via[B] |= ST_IDLE;
|
||||
last_status = via[B] & (ST_MASK|CTLR_IRQ);
|
||||
last_status = via[B] & (ST_MASK | CTLR_IRQ);
|
||||
|
||||
/* Shift register on input */
|
||||
via[ACR] = (via[ACR] & ~SR_CTRL) | SR_EXT;
|
||||
@ -205,7 +186,8 @@ static void macii_queue_poll(void)
|
||||
int next_device;
|
||||
static struct adb_request req;
|
||||
|
||||
if (!autopoll_devs) return;
|
||||
if (!autopoll_devs)
|
||||
return;
|
||||
|
||||
device_mask = (1 << (((command_byte & 0xF0) >> 4) + 1)) - 1;
|
||||
if (autopoll_devs & ~device_mask)
|
||||
@ -213,10 +195,7 @@ static void macii_queue_poll(void)
|
||||
else
|
||||
next_device = ffs(autopoll_devs) - 1;
|
||||
|
||||
BUG_ON(request_is_queued(&req));
|
||||
|
||||
adb_request(&req, NULL, ADBREQ_NOSEND, 1,
|
||||
ADB_READREG(next_device, 0));
|
||||
adb_request(&req, NULL, ADBREQ_NOSEND, 1, ADB_READREG(next_device, 0));
|
||||
|
||||
req.sent = 0;
|
||||
req.complete = 0;
|
||||
@ -237,18 +216,13 @@ static int macii_send_request(struct adb_request *req, int sync)
|
||||
int err;
|
||||
unsigned long flags;
|
||||
|
||||
BUG_ON(request_is_queued(req));
|
||||
|
||||
local_irq_save(flags);
|
||||
err = macii_write(req);
|
||||
local_irq_restore(flags);
|
||||
|
||||
if (!err && sync) {
|
||||
while (!req->complete) {
|
||||
if (!err && sync)
|
||||
while (!req->complete)
|
||||
macii_poll();
|
||||
}
|
||||
BUG_ON(request_is_queued(req));
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
@ -260,7 +234,7 @@ static int macii_write(struct adb_request *req)
|
||||
req->complete = 1;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
||||
req->next = NULL;
|
||||
req->sent = 0;
|
||||
req->complete = 0;
|
||||
@ -272,7 +246,8 @@ static int macii_write(struct adb_request *req)
|
||||
} else {
|
||||
current_req = req;
|
||||
last_req = req;
|
||||
if (macii_state == idle) macii_start();
|
||||
if (macii_state == idle)
|
||||
macii_start();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -287,7 +262,8 @@ static int macii_autopoll(int devs)
|
||||
/* bit 1 == device 1, and so on. */
|
||||
autopoll_devs = devs & 0xFFFE;
|
||||
|
||||
if (!autopoll_devs) return 0;
|
||||
if (!autopoll_devs)
|
||||
return 0;
|
||||
|
||||
local_irq_save(flags);
|
||||
|
||||
@ -304,7 +280,8 @@ static int macii_autopoll(int devs)
|
||||
return err;
|
||||
}
|
||||
|
||||
static inline int need_autopoll(void) {
|
||||
static inline int need_autopoll(void)
|
||||
{
|
||||
/* Was the last command Talk Reg 0
|
||||
* and is the target on the autopoll list?
|
||||
*/
|
||||
@ -326,9 +303,6 @@ static void macii_poll(void)
|
||||
static int macii_reset_bus(void)
|
||||
{
|
||||
static struct adb_request req;
|
||||
|
||||
if (request_is_queued(&req))
|
||||
return 0;
|
||||
|
||||
/* Command = 0, Address = ignored */
|
||||
adb_request(&req, NULL, 0, 1, ADB_BUSRESET);
|
||||
@ -346,10 +320,6 @@ static void macii_start(void)
|
||||
|
||||
req = current_req;
|
||||
|
||||
BUG_ON(req == NULL);
|
||||
|
||||
BUG_ON(macii_state != idle);
|
||||
|
||||
/* Now send it. Be careful though, that first byte of the request
|
||||
* is actually ADB_PACKET; the real data begins at index 1!
|
||||
* And req->nbytes is the number of bytes of real data plus one.
|
||||
@ -375,7 +345,7 @@ static void macii_start(void)
|
||||
* to be activity on the ADB bus. The chip will poll to achieve this.
|
||||
*
|
||||
* The basic ADB state machine was left unchanged from the original MacII code
|
||||
* by Alan Cox, which was based on the CUDA driver for PowerMac.
|
||||
* by Alan Cox, which was based on the CUDA driver for PowerMac.
|
||||
* The syntax of the ADB status lines is totally different on MacII,
|
||||
* though. MacII uses the states Command -> Even -> Odd -> Even ->...-> Idle
|
||||
* for sending and Idle -> Even -> Odd -> Even ->...-> Idle for receiving.
|
||||
@ -387,7 +357,6 @@ static void macii_start(void)
|
||||
static irqreturn_t macii_interrupt(int irq, void *arg)
|
||||
{
|
||||
int x;
|
||||
static int entered;
|
||||
struct adb_request *req;
|
||||
|
||||
if (!arg) {
|
||||
@ -398,153 +367,150 @@ static irqreturn_t macii_interrupt(int irq, void *arg)
|
||||
return IRQ_NONE;
|
||||
}
|
||||
|
||||
BUG_ON(entered++);
|
||||
|
||||
last_status = status;
|
||||
status = via[B] & (ST_MASK|CTLR_IRQ);
|
||||
status = via[B] & (ST_MASK | CTLR_IRQ);
|
||||
|
||||
switch (macii_state) {
|
||||
case idle:
|
||||
if (reading_reply) {
|
||||
reply_ptr = current_req->reply;
|
||||
} else {
|
||||
BUG_ON(current_req != NULL);
|
||||
reply_ptr = reply_buf;
|
||||
}
|
||||
case idle:
|
||||
if (reading_reply) {
|
||||
reply_ptr = current_req->reply;
|
||||
} else {
|
||||
WARN_ON(current_req);
|
||||
reply_ptr = reply_buf;
|
||||
}
|
||||
|
||||
x = via[SR];
|
||||
x = via[SR];
|
||||
|
||||
if ((status & CTLR_IRQ) && (x == 0xFF)) {
|
||||
/* Bus timeout without SRQ sequence:
|
||||
* data is "FF" while CTLR_IRQ is "H"
|
||||
*/
|
||||
reply_len = 0;
|
||||
srq_asserted = 0;
|
||||
macii_state = read_done;
|
||||
} else {
|
||||
macii_state = reading;
|
||||
*reply_ptr = x;
|
||||
reply_len = 1;
|
||||
}
|
||||
|
||||
/* set ADB state = even for first data byte */
|
||||
via[B] = (via[B] & ~ST_MASK) | ST_EVEN;
|
||||
break;
|
||||
|
||||
case sending:
|
||||
req = current_req;
|
||||
if (data_index >= req->nbytes) {
|
||||
req->sent = 1;
|
||||
macii_state = idle;
|
||||
|
||||
if (req->reply_expected) {
|
||||
reading_reply = 1;
|
||||
} else {
|
||||
req->complete = 1;
|
||||
current_req = req->next;
|
||||
if (req->done) (*req->done)(req);
|
||||
|
||||
if (current_req)
|
||||
macii_start();
|
||||
else
|
||||
if (need_autopoll())
|
||||
macii_autopoll(autopoll_devs);
|
||||
}
|
||||
|
||||
if (macii_state == idle) {
|
||||
/* reset to shift in */
|
||||
via[ACR] &= ~SR_OUT;
|
||||
x = via[SR];
|
||||
/* set ADB state idle - might get SRQ */
|
||||
via[B] = (via[B] & ~ST_MASK) | ST_IDLE;
|
||||
}
|
||||
} else {
|
||||
via[SR] = req->data[data_index++];
|
||||
|
||||
if ( (via[B] & ST_MASK) == ST_CMD ) {
|
||||
/* just sent the command byte, set to EVEN */
|
||||
via[B] = (via[B] & ~ST_MASK) | ST_EVEN;
|
||||
} else {
|
||||
/* invert state bits, toggle ODD/EVEN */
|
||||
via[B] ^= ST_MASK;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case reading:
|
||||
x = via[SR];
|
||||
BUG_ON((status & ST_MASK) == ST_CMD ||
|
||||
(status & ST_MASK) == ST_IDLE);
|
||||
|
||||
/* Bus timeout with SRQ sequence:
|
||||
* data is "XX FF" while CTLR_IRQ is "L L"
|
||||
* End of packet without SRQ sequence:
|
||||
* data is "XX...YY 00" while CTLR_IRQ is "L...H L"
|
||||
* End of packet SRQ sequence:
|
||||
* data is "XX...YY 00" while CTLR_IRQ is "L...L L"
|
||||
* (where XX is the first response byte and
|
||||
* YY is the last byte of valid response data.)
|
||||
if ((status & CTLR_IRQ) && (x == 0xFF)) {
|
||||
/* Bus timeout without SRQ sequence:
|
||||
* data is "FF" while CTLR_IRQ is "H"
|
||||
*/
|
||||
|
||||
reply_len = 0;
|
||||
srq_asserted = 0;
|
||||
if (!(status & CTLR_IRQ)) {
|
||||
if (x == 0xFF) {
|
||||
if (!(last_status & CTLR_IRQ)) {
|
||||
macii_state = read_done;
|
||||
reply_len = 0;
|
||||
srq_asserted = 1;
|
||||
}
|
||||
} else if (x == 0x00) {
|
||||
macii_state = read_done;
|
||||
if (!(last_status & CTLR_IRQ))
|
||||
srq_asserted = 1;
|
||||
}
|
||||
}
|
||||
macii_state = read_done;
|
||||
} else {
|
||||
macii_state = reading;
|
||||
*reply_ptr = x;
|
||||
reply_len = 1;
|
||||
}
|
||||
|
||||
if (macii_state == reading) {
|
||||
BUG_ON(reply_len > 15);
|
||||
reply_ptr++;
|
||||
*reply_ptr = x;
|
||||
reply_len++;
|
||||
}
|
||||
|
||||
/* invert state bits, toggle ODD/EVEN */
|
||||
via[B] ^= ST_MASK;
|
||||
break;
|
||||
|
||||
case read_done:
|
||||
x = via[SR];
|
||||
|
||||
if (reading_reply) {
|
||||
reading_reply = 0;
|
||||
req = current_req;
|
||||
req->reply_len = reply_len;
|
||||
req->complete = 1;
|
||||
current_req = req->next;
|
||||
if (req->done) (*req->done)(req);
|
||||
} else if (reply_len && autopoll_devs)
|
||||
adb_input(reply_buf, reply_len, 0);
|
||||
/* set ADB state = even for first data byte */
|
||||
via[B] = (via[B] & ~ST_MASK) | ST_EVEN;
|
||||
break;
|
||||
|
||||
case sending:
|
||||
req = current_req;
|
||||
if (data_index >= req->nbytes) {
|
||||
req->sent = 1;
|
||||
macii_state = idle;
|
||||
|
||||
/* SRQ seen before, initiate poll now */
|
||||
if (srq_asserted)
|
||||
macii_queue_poll();
|
||||
if (req->reply_expected) {
|
||||
reading_reply = 1;
|
||||
} else {
|
||||
req->complete = 1;
|
||||
current_req = req->next;
|
||||
if (req->done)
|
||||
(*req->done)(req);
|
||||
|
||||
if (current_req)
|
||||
macii_start();
|
||||
else
|
||||
if (need_autopoll())
|
||||
if (current_req)
|
||||
macii_start();
|
||||
else if (need_autopoll())
|
||||
macii_autopoll(autopoll_devs);
|
||||
}
|
||||
|
||||
if (macii_state == idle)
|
||||
if (macii_state == idle) {
|
||||
/* reset to shift in */
|
||||
via[ACR] &= ~SR_OUT;
|
||||
x = via[SR];
|
||||
/* set ADB state idle - might get SRQ */
|
||||
via[B] = (via[B] & ~ST_MASK) | ST_IDLE;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
via[SR] = req->data[data_index++];
|
||||
|
||||
default:
|
||||
if ((via[B] & ST_MASK) == ST_CMD) {
|
||||
/* just sent the command byte, set to EVEN */
|
||||
via[B] = (via[B] & ~ST_MASK) | ST_EVEN;
|
||||
} else {
|
||||
/* invert state bits, toggle ODD/EVEN */
|
||||
via[B] ^= ST_MASK;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case reading:
|
||||
x = via[SR];
|
||||
WARN_ON((status & ST_MASK) == ST_CMD ||
|
||||
(status & ST_MASK) == ST_IDLE);
|
||||
|
||||
/* Bus timeout with SRQ sequence:
|
||||
* data is "XX FF" while CTLR_IRQ is "L L"
|
||||
* End of packet without SRQ sequence:
|
||||
* data is "XX...YY 00" while CTLR_IRQ is "L...H L"
|
||||
* End of packet SRQ sequence:
|
||||
* data is "XX...YY 00" while CTLR_IRQ is "L...L L"
|
||||
* (where XX is the first response byte and
|
||||
* YY is the last byte of valid response data.)
|
||||
*/
|
||||
|
||||
srq_asserted = 0;
|
||||
if (!(status & CTLR_IRQ)) {
|
||||
if (x == 0xFF) {
|
||||
if (!(last_status & CTLR_IRQ)) {
|
||||
macii_state = read_done;
|
||||
reply_len = 0;
|
||||
srq_asserted = 1;
|
||||
}
|
||||
} else if (x == 0x00) {
|
||||
macii_state = read_done;
|
||||
if (!(last_status & CTLR_IRQ))
|
||||
srq_asserted = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (macii_state == reading &&
|
||||
reply_len < ARRAY_SIZE(reply_buf)) {
|
||||
reply_ptr++;
|
||||
*reply_ptr = x;
|
||||
reply_len++;
|
||||
}
|
||||
|
||||
/* invert state bits, toggle ODD/EVEN */
|
||||
via[B] ^= ST_MASK;
|
||||
break;
|
||||
|
||||
case read_done:
|
||||
x = via[SR];
|
||||
|
||||
if (reading_reply) {
|
||||
reading_reply = 0;
|
||||
req = current_req;
|
||||
req->reply_len = reply_len;
|
||||
req->complete = 1;
|
||||
current_req = req->next;
|
||||
if (req->done)
|
||||
(*req->done)(req);
|
||||
} else if (reply_len && autopoll_devs)
|
||||
adb_input(reply_buf, reply_len, 0);
|
||||
|
||||
macii_state = idle;
|
||||
|
||||
/* SRQ seen before, initiate poll now */
|
||||
if (srq_asserted)
|
||||
macii_queue_poll();
|
||||
|
||||
if (current_req)
|
||||
macii_start();
|
||||
else if (need_autopoll())
|
||||
macii_autopoll(autopoll_devs);
|
||||
|
||||
if (macii_state == idle)
|
||||
via[B] = (via[B] & ~ST_MASK) | ST_IDLE;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
entered--;
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
@ -44,7 +44,6 @@
|
||||
*/
|
||||
|
||||
#include <linux/blkdev.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/raid/pq.h>
|
||||
#include <linux/async_tx.h>
|
||||
@ -6273,6 +6272,9 @@ static void raid5d(struct md_thread *thread)
|
||||
int batch_size, released;
|
||||
unsigned int offset;
|
||||
|
||||
if (test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags))
|
||||
break;
|
||||
|
||||
released = release_stripe_list(conf, conf->temp_inactive_list);
|
||||
if (released)
|
||||
clear_bit(R5_DID_ALLOC, &conf->cache_state);
|
||||
@ -6309,18 +6311,7 @@ static void raid5d(struct md_thread *thread)
|
||||
spin_unlock_irq(&conf->device_lock);
|
||||
md_check_recovery(mddev);
|
||||
spin_lock_irq(&conf->device_lock);
|
||||
|
||||
/*
|
||||
* Waiting on MD_SB_CHANGE_PENDING below may deadlock
|
||||
* seeing md_check_recovery() is needed to clear
|
||||
* the flag when using mdmon.
|
||||
*/
|
||||
continue;
|
||||
}
|
||||
|
||||
wait_event_lock_irq(mddev->sb_wait,
|
||||
!test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags),
|
||||
conf->device_lock);
|
||||
}
|
||||
pr_debug("%d stripes handled\n", handled);
|
||||
|
||||
|
@ -645,6 +645,8 @@ static int cec_release(struct inode *inode, struct file *filp)
|
||||
list_del(&data->xfer_list);
|
||||
}
|
||||
mutex_unlock(&adap->lock);
|
||||
|
||||
mutex_lock(&fh->lock);
|
||||
while (!list_empty(&fh->msgs)) {
|
||||
struct cec_msg_entry *entry =
|
||||
list_first_entry(&fh->msgs, struct cec_msg_entry, list);
|
||||
@ -662,6 +664,7 @@ static int cec_release(struct inode *inode, struct file *filp)
|
||||
kfree(entry);
|
||||
}
|
||||
}
|
||||
mutex_unlock(&fh->lock);
|
||||
kfree(fh);
|
||||
|
||||
cec_put_device(devnode);
|
||||
|
@ -1367,57 +1367,57 @@ static int config_ts(struct mxl *state, enum MXL_HYDRA_DEMOD_ID_E demod_id,
|
||||
u32 nco_count_min = 0;
|
||||
u32 clk_type = 0;
|
||||
|
||||
struct MXL_REG_FIELD_T xpt_sync_polarity[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_sync_polarity[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x90700010, 8, 1}, {0x90700010, 9, 1},
|
||||
{0x90700010, 10, 1}, {0x90700010, 11, 1},
|
||||
{0x90700010, 12, 1}, {0x90700010, 13, 1},
|
||||
{0x90700010, 14, 1}, {0x90700010, 15, 1} };
|
||||
struct MXL_REG_FIELD_T xpt_clock_polarity[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_clock_polarity[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x90700010, 16, 1}, {0x90700010, 17, 1},
|
||||
{0x90700010, 18, 1}, {0x90700010, 19, 1},
|
||||
{0x90700010, 20, 1}, {0x90700010, 21, 1},
|
||||
{0x90700010, 22, 1}, {0x90700010, 23, 1} };
|
||||
struct MXL_REG_FIELD_T xpt_valid_polarity[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_valid_polarity[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x90700014, 0, 1}, {0x90700014, 1, 1},
|
||||
{0x90700014, 2, 1}, {0x90700014, 3, 1},
|
||||
{0x90700014, 4, 1}, {0x90700014, 5, 1},
|
||||
{0x90700014, 6, 1}, {0x90700014, 7, 1} };
|
||||
struct MXL_REG_FIELD_T xpt_ts_clock_phase[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_ts_clock_phase[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x90700018, 0, 3}, {0x90700018, 4, 3},
|
||||
{0x90700018, 8, 3}, {0x90700018, 12, 3},
|
||||
{0x90700018, 16, 3}, {0x90700018, 20, 3},
|
||||
{0x90700018, 24, 3}, {0x90700018, 28, 3} };
|
||||
struct MXL_REG_FIELD_T xpt_lsb_first[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_lsb_first[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x9070000C, 16, 1}, {0x9070000C, 17, 1},
|
||||
{0x9070000C, 18, 1}, {0x9070000C, 19, 1},
|
||||
{0x9070000C, 20, 1}, {0x9070000C, 21, 1},
|
||||
{0x9070000C, 22, 1}, {0x9070000C, 23, 1} };
|
||||
struct MXL_REG_FIELD_T xpt_sync_byte[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_sync_byte[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x90700010, 0, 1}, {0x90700010, 1, 1},
|
||||
{0x90700010, 2, 1}, {0x90700010, 3, 1},
|
||||
{0x90700010, 4, 1}, {0x90700010, 5, 1},
|
||||
{0x90700010, 6, 1}, {0x90700010, 7, 1} };
|
||||
struct MXL_REG_FIELD_T xpt_enable_output[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_enable_output[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x9070000C, 0, 1}, {0x9070000C, 1, 1},
|
||||
{0x9070000C, 2, 1}, {0x9070000C, 3, 1},
|
||||
{0x9070000C, 4, 1}, {0x9070000C, 5, 1},
|
||||
{0x9070000C, 6, 1}, {0x9070000C, 7, 1} };
|
||||
struct MXL_REG_FIELD_T xpt_err_replace_sync[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_err_replace_sync[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x9070000C, 24, 1}, {0x9070000C, 25, 1},
|
||||
{0x9070000C, 26, 1}, {0x9070000C, 27, 1},
|
||||
{0x9070000C, 28, 1}, {0x9070000C, 29, 1},
|
||||
{0x9070000C, 30, 1}, {0x9070000C, 31, 1} };
|
||||
struct MXL_REG_FIELD_T xpt_err_replace_valid[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_err_replace_valid[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x90700014, 8, 1}, {0x90700014, 9, 1},
|
||||
{0x90700014, 10, 1}, {0x90700014, 11, 1},
|
||||
{0x90700014, 12, 1}, {0x90700014, 13, 1},
|
||||
{0x90700014, 14, 1}, {0x90700014, 15, 1} };
|
||||
struct MXL_REG_FIELD_T xpt_continuous_clock[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_continuous_clock[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x907001D4, 0, 1}, {0x907001D4, 1, 1},
|
||||
{0x907001D4, 2, 1}, {0x907001D4, 3, 1},
|
||||
{0x907001D4, 4, 1}, {0x907001D4, 5, 1},
|
||||
{0x907001D4, 6, 1}, {0x907001D4, 7, 1} };
|
||||
struct MXL_REG_FIELD_T xpt_nco_clock_rate[MXL_HYDRA_DEMOD_MAX] = {
|
||||
static const struct MXL_REG_FIELD_T xpt_nco_clock_rate[MXL_HYDRA_DEMOD_MAX] = {
|
||||
{0x90700044, 16, 80}, {0x90700044, 16, 81},
|
||||
{0x90700044, 16, 82}, {0x90700044, 16, 83},
|
||||
{0x90700044, 16, 84}, {0x90700044, 16, 85},
|
||||
|
@ -1499,7 +1499,9 @@ static int init_channel(struct ngene_channel *chan)
|
||||
}
|
||||
|
||||
if (dev->ci.en && (io & NGENE_IO_TSOUT)) {
|
||||
dvb_ca_en50221_init(adapter, dev->ci.en, 0, 1);
|
||||
ret = dvb_ca_en50221_init(adapter, dev->ci.en, 0, 1);
|
||||
if (ret != 0)
|
||||
goto err;
|
||||
set_transfer(chan, 1);
|
||||
chan->dev->channel[2].DataFormatFlags = DF_SWAP32;
|
||||
set_transfer(&chan->dev->channel[2], 1);
|
||||
|
@ -62,7 +62,7 @@ struct shark_device {
|
||||
#ifdef SHARK_USE_LEDS
|
||||
struct work_struct led_work;
|
||||
struct led_classdev leds[NO_LEDS];
|
||||
char led_names[NO_LEDS][32];
|
||||
char led_names[NO_LEDS][64];
|
||||
atomic_t brightness[NO_LEDS];
|
||||
unsigned long brightness_new;
|
||||
#endif
|
||||
|
@ -109,7 +109,7 @@ void stk1160_buffer_done(struct stk1160 *dev)
|
||||
static inline
|
||||
void stk1160_copy_video(struct stk1160 *dev, u8 *src, int len)
|
||||
{
|
||||
int linesdone, lineoff, lencopy;
|
||||
int linesdone, lineoff, lencopy, offset;
|
||||
int bytesperline = dev->width * 2;
|
||||
struct stk1160_buffer *buf = dev->isoc_ctl.buf;
|
||||
u8 *dst = buf->mem;
|
||||
@ -149,8 +149,13 @@ void stk1160_copy_video(struct stk1160 *dev, u8 *src, int len)
|
||||
* Check if we have enough space left in the buffer.
|
||||
* In that case, we force loop exit after copy.
|
||||
*/
|
||||
if (lencopy > buf->bytesused - buf->length) {
|
||||
lencopy = buf->bytesused - buf->length;
|
||||
offset = dst - (u8 *)buf->mem;
|
||||
if (offset > buf->length) {
|
||||
dev_warn_ratelimited(dev->dev, "out of bounds offset\n");
|
||||
return;
|
||||
}
|
||||
if (lencopy > buf->length - offset) {
|
||||
lencopy = buf->length - offset;
|
||||
remain = lencopy;
|
||||
}
|
||||
|
||||
@ -192,8 +197,13 @@ void stk1160_copy_video(struct stk1160 *dev, u8 *src, int len)
|
||||
* Check if we have enough space left in the buffer.
|
||||
* In that case, we force loop exit after copy.
|
||||
*/
|
||||
if (lencopy > buf->bytesused - buf->length) {
|
||||
lencopy = buf->bytesused - buf->length;
|
||||
offset = dst - (u8 *)buf->mem;
|
||||
if (offset > buf->length) {
|
||||
dev_warn_ratelimited(dev->dev, "offset out of bounds\n");
|
||||
return;
|
||||
}
|
||||
if (lencopy > buf->length - offset) {
|
||||
lencopy = buf->length - offset;
|
||||
remain = lencopy;
|
||||
}
|
||||
|
||||
|
@ -969,8 +969,10 @@ int __video_register_device(struct video_device *vdev, int type, int nr,
|
||||
vdev->dev.devt = MKDEV(VIDEO_MAJOR, vdev->minor);
|
||||
vdev->dev.parent = vdev->dev_parent;
|
||||
dev_set_name(&vdev->dev, "%s%d", name_base, vdev->num);
|
||||
mutex_lock(&videodev_lock);
|
||||
ret = device_register(&vdev->dev);
|
||||
if (ret < 0) {
|
||||
mutex_unlock(&videodev_lock);
|
||||
printk(KERN_ERR "%s: device_register failed\n", __func__);
|
||||
goto cleanup;
|
||||
}
|
||||
@ -990,6 +992,7 @@ int __video_register_device(struct video_device *vdev, int type, int nr,
|
||||
|
||||
/* Part 6: Activate this minor. The char device can now be used. */
|
||||
set_bit(V4L2_FL_REGISTERED, &vdev->flags);
|
||||
mutex_unlock(&videodev_lock);
|
||||
|
||||
return 0;
|
||||
|
||||
|
@ -394,13 +394,12 @@ EXPORT_SYMBOL(mmc_retune_enable);
|
||||
|
||||
/*
|
||||
* Pause re-tuning for a small set of operations. The pause begins after the
|
||||
* next command and after first doing re-tuning.
|
||||
* next command.
|
||||
*/
|
||||
void mmc_retune_pause(struct mmc_host *host)
|
||||
{
|
||||
if (!host->retune_paused) {
|
||||
host->retune_paused = 1;
|
||||
mmc_retune_needed(host);
|
||||
mmc_retune_hold(host);
|
||||
}
|
||||
}
|
||||
|
@ -359,7 +359,7 @@ static int hynix_nand_rr_init(struct nand_chip *chip)
|
||||
if (ret)
|
||||
pr_warn("failed to initialize read-retry infrastructure");
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void hynix_nand_extract_oobsize(struct nand_chip *chip,
|
||||
|
@ -1108,18 +1108,30 @@ static int enic_set_vf_port(struct net_device *netdev, int vf,
|
||||
pp->request = nla_get_u8(port[IFLA_PORT_REQUEST]);
|
||||
|
||||
if (port[IFLA_PORT_PROFILE]) {
|
||||
if (nla_len(port[IFLA_PORT_PROFILE]) != PORT_PROFILE_MAX) {
|
||||
memcpy(pp, &prev_pp, sizeof(*pp));
|
||||
return -EINVAL;
|
||||
}
|
||||
pp->set |= ENIC_SET_NAME;
|
||||
memcpy(pp->name, nla_data(port[IFLA_PORT_PROFILE]),
|
||||
PORT_PROFILE_MAX);
|
||||
}
|
||||
|
||||
if (port[IFLA_PORT_INSTANCE_UUID]) {
|
||||
if (nla_len(port[IFLA_PORT_INSTANCE_UUID]) != PORT_UUID_MAX) {
|
||||
memcpy(pp, &prev_pp, sizeof(*pp));
|
||||
return -EINVAL;
|
||||
}
|
||||
pp->set |= ENIC_SET_INSTANCE;
|
||||
memcpy(pp->instance_uuid,
|
||||
nla_data(port[IFLA_PORT_INSTANCE_UUID]), PORT_UUID_MAX);
|
||||
}
|
||||
|
||||
if (port[IFLA_PORT_HOST_UUID]) {
|
||||
if (nla_len(port[IFLA_PORT_HOST_UUID]) != PORT_UUID_MAX) {
|
||||
memcpy(pp, &prev_pp, sizeof(*pp));
|
||||
return -EINVAL;
|
||||
}
|
||||
pp->set |= ENIC_SET_HOST;
|
||||
memcpy(pp->host_uuid,
|
||||
nla_data(port[IFLA_PORT_HOST_UUID]), PORT_UUID_MAX);
|
||||
|
@ -3224,6 +3224,14 @@ static int fec_enet_init(struct net_device *ndev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void fec_enet_deinit(struct net_device *ndev)
|
||||
{
|
||||
struct fec_enet_private *fep = netdev_priv(ndev);
|
||||
|
||||
netif_napi_del(&fep->napi);
|
||||
fec_enet_free_queue(ndev);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static int fec_reset_phy(struct platform_device *pdev)
|
||||
{
|
||||
@ -3536,6 +3544,7 @@ failed_register:
|
||||
fec_enet_mii_remove(fep);
|
||||
failed_mii_init:
|
||||
failed_irq:
|
||||
fec_enet_deinit(ndev);
|
||||
failed_init:
|
||||
fec_ptp_stop(pdev);
|
||||
failed_reset:
|
||||
@ -3596,6 +3605,7 @@ fec_drv_remove(struct platform_device *pdev)
|
||||
pm_runtime_put_noidle(&pdev->dev);
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
|
||||
fec_enet_deinit(ndev);
|
||||
free_netdev(ndev);
|
||||
return 0;
|
||||
}
|
||||
|
@ -111,7 +111,6 @@ static int fec_ptp_enable_pps(struct fec_enet_private *fep, uint enable)
|
||||
{
|
||||
unsigned long flags;
|
||||
u32 val, tempval;
|
||||
int inc;
|
||||
struct timespec64 ts;
|
||||
u64 ns;
|
||||
val = 0;
|
||||
@ -121,15 +120,13 @@ static int fec_ptp_enable_pps(struct fec_enet_private *fep, uint enable)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (fep->pps_enable == enable)
|
||||
return 0;
|
||||
|
||||
fep->pps_channel = DEFAULT_PPS_CHANNEL;
|
||||
fep->reload_period = PPS_OUPUT_RELOAD_PERIOD;
|
||||
inc = fep->ptp_inc;
|
||||
|
||||
spin_lock_irqsave(&fep->tmreg_lock, flags);
|
||||
|
||||
if (fep->pps_enable == enable) {
|
||||
spin_unlock_irqrestore(&fep->tmreg_lock, flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (enable) {
|
||||
/* clear capture or output compare interrupt status if have.
|
||||
*/
|
||||
@ -462,6 +459,9 @@ static int fec_ptp_enable(struct ptp_clock_info *ptp,
|
||||
int ret = 0;
|
||||
|
||||
if (rq->type == PTP_CLK_REQ_PPS) {
|
||||
fep->pps_channel = DEFAULT_PPS_CHANNEL;
|
||||
fep->reload_period = PPS_OUPUT_RELOAD_PERIOD;
|
||||
|
||||
ret = fec_ptp_enable_pps(fep, on);
|
||||
|
||||
return ret;
|
||||
|
@ -3152,7 +3152,7 @@ mlx5e_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats)
|
||||
stats->tx_dropped = sstats->tx_queue_dropped;
|
||||
}
|
||||
|
||||
stats->rx_dropped = priv->stats.qcnt.rx_out_of_buffer;
|
||||
stats->rx_missed_errors = priv->stats.qcnt.rx_out_of_buffer;
|
||||
|
||||
stats->rx_length_errors =
|
||||
PPORT_802_3_GET(pstats, a_in_range_length_errors) +
|
||||
|
@ -369,7 +369,7 @@ static struct ipvl_addr *ipvlan_addr_lookup(struct ipvl_port *port,
|
||||
return addr;
|
||||
}
|
||||
|
||||
static int ipvlan_process_v4_outbound(struct sk_buff *skb)
|
||||
static noinline_for_stack int ipvlan_process_v4_outbound(struct sk_buff *skb)
|
||||
{
|
||||
const struct iphdr *ip4h = ip_hdr(skb);
|
||||
struct net_device *dev = skb->dev;
|
||||
@ -397,26 +397,23 @@ static int ipvlan_process_v4_outbound(struct sk_buff *skb)
|
||||
|
||||
memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
|
||||
|
||||
err = ip_local_out(net, skb->sk, skb);
|
||||
err = ip_local_out(net, NULL, skb);
|
||||
if (unlikely(net_xmit_eval(err)))
|
||||
dev->stats.tx_errors++;
|
||||
DEV_STATS_INC(dev, tx_errors);
|
||||
else
|
||||
ret = NET_XMIT_SUCCESS;
|
||||
goto out;
|
||||
err:
|
||||
dev->stats.tx_errors++;
|
||||
DEV_STATS_INC(dev, tx_errors);
|
||||
kfree_skb(skb);
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ipvlan_process_v6_outbound(struct sk_buff *skb)
|
||||
static noinline_for_stack int
|
||||
ipvlan_route_v6_outbound(struct net_device *dev, struct sk_buff *skb)
|
||||
{
|
||||
const struct ipv6hdr *ip6h = ipv6_hdr(skb);
|
||||
struct net_device *dev = skb->dev;
|
||||
struct net *net = dev_net(dev);
|
||||
struct dst_entry *dst;
|
||||
int err, ret = NET_XMIT_DROP;
|
||||
struct flowi6 fl6 = {
|
||||
.flowi6_oif = dev->ifindex,
|
||||
.daddr = ip6h->daddr,
|
||||
@ -426,27 +423,38 @@ static int ipvlan_process_v6_outbound(struct sk_buff *skb)
|
||||
.flowi6_mark = skb->mark,
|
||||
.flowi6_proto = ip6h->nexthdr,
|
||||
};
|
||||
struct dst_entry *dst;
|
||||
int err;
|
||||
|
||||
dst = ip6_route_output(net, NULL, &fl6);
|
||||
if (dst->error) {
|
||||
ret = dst->error;
|
||||
dst = ip6_route_output(dev_net(dev), NULL, &fl6);
|
||||
err = dst->error;
|
||||
if (err) {
|
||||
dst_release(dst);
|
||||
goto err;
|
||||
return err;
|
||||
}
|
||||
skb_dst_set(skb, dst);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ipvlan_process_v6_outbound(struct sk_buff *skb)
|
||||
{
|
||||
struct net_device *dev = skb->dev;
|
||||
int err, ret = NET_XMIT_DROP;
|
||||
|
||||
err = ipvlan_route_v6_outbound(dev, skb);
|
||||
if (unlikely(err)) {
|
||||
DEV_STATS_INC(dev, tx_errors);
|
||||
kfree_skb(skb);
|
||||
return err;
|
||||
}
|
||||
|
||||
memset(IP6CB(skb), 0, sizeof(*IP6CB(skb)));
|
||||
|
||||
err = ip6_local_out(net, skb->sk, skb);
|
||||
err = ip6_local_out(dev_net(dev), NULL, skb);
|
||||
if (unlikely(net_xmit_eval(err)))
|
||||
dev->stats.tx_errors++;
|
||||
DEV_STATS_INC(dev, tx_errors);
|
||||
else
|
||||
ret = NET_XMIT_SUCCESS;
|
||||
goto out;
|
||||
err:
|
||||
dev->stats.tx_errors++;
|
||||
kfree_skb(skb);
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -388,6 +388,7 @@ static void ipvlan_get_stats64(struct net_device *dev,
|
||||
s->rx_dropped = rx_errs;
|
||||
s->tx_dropped = tx_drps;
|
||||
}
|
||||
s->tx_errors = DEV_STATS_READ(dev, tx_errors);
|
||||
}
|
||||
|
||||
static int ipvlan_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid)
|
||||
|
@ -3254,8 +3254,8 @@ static void macsec_get_stats64(struct net_device *dev,
|
||||
s->tx_bytes += tmp.tx_bytes;
|
||||
}
|
||||
|
||||
s->rx_dropped = dev->stats.rx_dropped;
|
||||
s->tx_dropped = dev->stats.tx_dropped;
|
||||
s->rx_dropped = DEV_STATS_READ(dev, rx_dropped);
|
||||
s->tx_dropped = DEV_STATS_READ(dev, tx_dropped);
|
||||
}
|
||||
|
||||
static int macsec_get_iflink(const struct net_device *dev)
|
||||
|
@ -1315,6 +1315,9 @@ static const struct usb_device_id products[] = {
|
||||
{QMI_QUIRK_SET_DTR(0x1bc7, 0x1060, 2)}, /* Telit LN920 */
|
||||
{QMI_QUIRK_SET_DTR(0x1bc7, 0x1070, 2)}, /* Telit FN990 */
|
||||
{QMI_QUIRK_SET_DTR(0x1bc7, 0x1080, 2)}, /* Telit FE990 */
|
||||
{QMI_QUIRK_SET_DTR(0x1bc7, 0x10a0, 0)}, /* Telit FN920C04 */
|
||||
{QMI_QUIRK_SET_DTR(0x1bc7, 0x10a4, 0)}, /* Telit FN920C04 */
|
||||
{QMI_QUIRK_SET_DTR(0x1bc7, 0x10a9, 0)}, /* Telit FN920C04 */
|
||||
{QMI_FIXED_INTF(0x1bc7, 0x1100, 3)}, /* Telit ME910 */
|
||||
{QMI_FIXED_INTF(0x1bc7, 0x1101, 3)}, /* Telit ME910 dual modem */
|
||||
{QMI_FIXED_INTF(0x1bc7, 0x1200, 5)}, /* Telit LE920 */
|
||||
|
@ -273,16 +273,18 @@ done:
|
||||
mutex_unlock(&dev->phy_mutex);
|
||||
}
|
||||
|
||||
static int smsc95xx_mdio_read_nopm(struct net_device *netdev, int phy_id,
|
||||
int idx)
|
||||
static int smsc95xx_mdio_read_nopm(struct usbnet *dev, int idx)
|
||||
{
|
||||
return __smsc95xx_mdio_read(netdev, phy_id, idx, 1);
|
||||
struct mii_if_info *mii = &dev->mii;
|
||||
|
||||
return __smsc95xx_mdio_read(dev->net, mii->phy_id, idx, 1);
|
||||
}
|
||||
|
||||
static void smsc95xx_mdio_write_nopm(struct net_device *netdev, int phy_id,
|
||||
int idx, int regval)
|
||||
static void smsc95xx_mdio_write_nopm(struct usbnet *dev, int idx, int regval)
|
||||
{
|
||||
__smsc95xx_mdio_write(netdev, phy_id, idx, regval, 1);
|
||||
struct mii_if_info *mii = &dev->mii;
|
||||
|
||||
__smsc95xx_mdio_write(dev->net, mii->phy_id, idx, regval, 1);
|
||||
}
|
||||
|
||||
static int smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx)
|
||||
@ -467,7 +469,7 @@ static unsigned int smsc95xx_hash(char addr[ETH_ALEN])
|
||||
static void smsc95xx_set_multicast(struct net_device *netdev)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(netdev);
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
@ -562,7 +564,7 @@ static int smsc95xx_phy_update_flowcontrol(struct usbnet *dev, u8 duplex,
|
||||
|
||||
static int smsc95xx_link_reset(struct usbnet *dev)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
struct mii_if_info *mii = &dev->mii;
|
||||
struct ethtool_cmd ecmd = { .cmd = ETHTOOL_GSET };
|
||||
unsigned long flags;
|
||||
@ -632,7 +634,7 @@ static void smsc95xx_status(struct usbnet *dev, struct urb *urb)
|
||||
|
||||
static void set_carrier(struct usbnet *dev, bool link)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
|
||||
if (pdata->link_ok == link)
|
||||
return;
|
||||
@ -761,7 +763,7 @@ static void smsc95xx_ethtool_get_wol(struct net_device *net,
|
||||
struct ethtool_wolinfo *wolinfo)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
|
||||
wolinfo->supported = SUPPORTED_WAKE;
|
||||
wolinfo->wolopts = pdata->wolopts;
|
||||
@ -771,7 +773,7 @@ static int smsc95xx_ethtool_set_wol(struct net_device *net,
|
||||
struct ethtool_wolinfo *wolinfo)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
int ret;
|
||||
|
||||
if (wolinfo->wolopts & ~SUPPORTED_WAKE)
|
||||
@ -810,7 +812,7 @@ static int get_mdix_status(struct net_device *net)
|
||||
static void set_mdix_status(struct net_device *net, __u8 mdix_ctrl)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
int buf;
|
||||
|
||||
if ((pdata->chip_id == ID_REV_CHIP_ID_9500A_) ||
|
||||
@ -859,7 +861,7 @@ static int smsc95xx_get_link_ksettings(struct net_device *net,
|
||||
struct ethtool_link_ksettings *cmd)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
int retval;
|
||||
|
||||
retval = usbnet_get_link_ksettings(net, cmd);
|
||||
@ -874,7 +876,7 @@ static int smsc95xx_set_link_ksettings(struct net_device *net,
|
||||
const struct ethtool_link_ksettings *cmd)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
int retval;
|
||||
|
||||
if (pdata->mdix_ctrl != cmd->base.eth_tp_mdix_ctrl)
|
||||
@ -956,7 +958,7 @@ static int smsc95xx_set_mac_address(struct usbnet *dev)
|
||||
/* starts the TX path */
|
||||
static int smsc95xx_start_tx_path(struct usbnet *dev)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
@ -976,7 +978,7 @@ static int smsc95xx_start_tx_path(struct usbnet *dev)
|
||||
/* Starts the Receive path */
|
||||
static int smsc95xx_start_rx_path(struct usbnet *dev, int in_pm)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&pdata->mac_cr_lock, flags);
|
||||
@ -1033,8 +1035,8 @@ static int smsc95xx_phy_initialize(struct usbnet *dev)
|
||||
|
||||
static int smsc95xx_reset(struct usbnet *dev)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
u32 read_buf, write_buf, burst_cap;
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
u32 read_buf, burst_cap;
|
||||
int ret = 0, timeout;
|
||||
|
||||
netif_dbg(dev, ifup, dev->net, "entering smsc95xx_reset\n");
|
||||
@ -1176,10 +1178,13 @@ static int smsc95xx_reset(struct usbnet *dev)
|
||||
return ret;
|
||||
netif_dbg(dev, ifup, dev->net, "ID_REV = 0x%08x\n", read_buf);
|
||||
|
||||
ret = smsc95xx_read_reg(dev, LED_GPIO_CFG, &read_buf);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
/* Configure GPIO pins as LED outputs */
|
||||
write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED |
|
||||
LED_GPIO_CFG_FDX_LED;
|
||||
ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf);
|
||||
read_buf |= LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED |
|
||||
LED_GPIO_CFG_FDX_LED;
|
||||
ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, read_buf);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@ -1261,7 +1266,7 @@ static const struct net_device_ops smsc95xx_netdev_ops = {
|
||||
|
||||
static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = NULL;
|
||||
struct smsc95xx_priv *pdata;
|
||||
u32 val;
|
||||
int ret;
|
||||
|
||||
@ -1273,13 +1278,12 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf)
|
||||
return ret;
|
||||
}
|
||||
|
||||
dev->data[0] = (unsigned long)kzalloc(sizeof(struct smsc95xx_priv),
|
||||
GFP_KERNEL);
|
||||
|
||||
pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
|
||||
if (!pdata)
|
||||
return -ENOMEM;
|
||||
|
||||
dev->driver_priv = pdata;
|
||||
|
||||
spin_lock_init(&pdata->mac_cr_lock);
|
||||
|
||||
/* LAN95xx devices do not alter the computed checksum of 0 to 0xffff.
|
||||
@ -1342,15 +1346,11 @@ free_pdata:
|
||||
|
||||
static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
|
||||
if (pdata) {
|
||||
cancel_delayed_work_sync(&pdata->carrier_check);
|
||||
netif_dbg(dev, ifdown, dev->net, "free pdata\n");
|
||||
kfree(pdata);
|
||||
pdata = NULL;
|
||||
dev->data[0] = 0;
|
||||
}
|
||||
cancel_delayed_work_sync(&pdata->carrier_check);
|
||||
netif_dbg(dev, ifdown, dev->net, "free pdata\n");
|
||||
kfree(pdata);
|
||||
}
|
||||
|
||||
static u32 smsc_crc(const u8 *buffer, size_t len, int filter)
|
||||
@ -1361,39 +1361,37 @@ static u32 smsc_crc(const u8 *buffer, size_t len, int filter)
|
||||
|
||||
static int smsc95xx_enable_phy_wakeup_interrupts(struct usbnet *dev, u16 mask)
|
||||
{
|
||||
struct mii_if_info *mii = &dev->mii;
|
||||
int ret;
|
||||
|
||||
netdev_dbg(dev->net, "enabling PHY wakeup interrupts\n");
|
||||
|
||||
/* read to clear */
|
||||
ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, PHY_INT_SRC);
|
||||
ret = smsc95xx_mdio_read_nopm(dev, PHY_INT_SRC);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
/* enable interrupt source */
|
||||
ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, PHY_INT_MASK);
|
||||
ret = smsc95xx_mdio_read_nopm(dev, PHY_INT_MASK);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret |= mask;
|
||||
|
||||
smsc95xx_mdio_write_nopm(dev->net, mii->phy_id, PHY_INT_MASK, ret);
|
||||
smsc95xx_mdio_write_nopm(dev, PHY_INT_MASK, ret);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int smsc95xx_link_ok_nopm(struct usbnet *dev)
|
||||
{
|
||||
struct mii_if_info *mii = &dev->mii;
|
||||
int ret;
|
||||
|
||||
/* first, a dummy read, needed to latch some MII phys */
|
||||
ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, MII_BMSR);
|
||||
ret = smsc95xx_mdio_read_nopm(dev, MII_BMSR);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, MII_BMSR);
|
||||
ret = smsc95xx_mdio_read_nopm(dev, MII_BMSR);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@ -1402,7 +1400,7 @@ static int smsc95xx_link_ok_nopm(struct usbnet *dev)
|
||||
|
||||
static int smsc95xx_enter_suspend0(struct usbnet *dev)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
u32 val;
|
||||
int ret;
|
||||
|
||||
@ -1441,8 +1439,7 @@ static int smsc95xx_enter_suspend0(struct usbnet *dev)
|
||||
|
||||
static int smsc95xx_enter_suspend1(struct usbnet *dev)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct mii_if_info *mii = &dev->mii;
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
u32 val;
|
||||
int ret;
|
||||
|
||||
@ -1450,17 +1447,17 @@ static int smsc95xx_enter_suspend1(struct usbnet *dev)
|
||||
* compatibility with non-standard link partners
|
||||
*/
|
||||
if (pdata->features & FEATURE_PHY_NLP_CROSSOVER)
|
||||
smsc95xx_mdio_write_nopm(dev->net, mii->phy_id, PHY_EDPD_CONFIG,
|
||||
PHY_EDPD_CONFIG_DEFAULT);
|
||||
smsc95xx_mdio_write_nopm(dev, PHY_EDPD_CONFIG,
|
||||
PHY_EDPD_CONFIG_DEFAULT);
|
||||
|
||||
/* enable energy detect power-down mode */
|
||||
ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, PHY_MODE_CTRL_STS);
|
||||
ret = smsc95xx_mdio_read_nopm(dev, PHY_MODE_CTRL_STS);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret |= MODE_CTRL_STS_EDPWRDOWN_;
|
||||
|
||||
smsc95xx_mdio_write_nopm(dev->net, mii->phy_id, PHY_MODE_CTRL_STS, ret);
|
||||
smsc95xx_mdio_write_nopm(dev, PHY_MODE_CTRL_STS, ret);
|
||||
|
||||
/* enter SUSPEND1 mode */
|
||||
ret = smsc95xx_read_reg_nopm(dev, PM_CTRL, &val);
|
||||
@ -1489,7 +1486,7 @@ static int smsc95xx_enter_suspend1(struct usbnet *dev)
|
||||
|
||||
static int smsc95xx_enter_suspend2(struct usbnet *dev)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
u32 val;
|
||||
int ret;
|
||||
|
||||
@ -1511,7 +1508,7 @@ static int smsc95xx_enter_suspend2(struct usbnet *dev)
|
||||
|
||||
static int smsc95xx_enter_suspend3(struct usbnet *dev)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
u32 val;
|
||||
int ret;
|
||||
|
||||
@ -1550,7 +1547,7 @@ static int smsc95xx_enter_suspend3(struct usbnet *dev)
|
||||
|
||||
static int smsc95xx_autosuspend(struct usbnet *dev, u32 link_up)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
int ret;
|
||||
|
||||
if (!netif_running(dev->net)) {
|
||||
@ -1598,7 +1595,7 @@ static int smsc95xx_autosuspend(struct usbnet *dev, u32 link_up)
|
||||
static int smsc95xx_suspend(struct usb_interface *intf, pm_message_t message)
|
||||
{
|
||||
struct usbnet *dev = usb_get_intfdata(intf);
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
u32 val, link_up;
|
||||
int ret;
|
||||
|
||||
@ -1869,7 +1866,7 @@ static int smsc95xx_resume(struct usb_interface *intf)
|
||||
u32 val;
|
||||
|
||||
BUG_ON(!dev);
|
||||
pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
pdata = dev->driver_priv;
|
||||
suspend_flags = pdata->suspend_flags;
|
||||
|
||||
netdev_dbg(dev->net, "resume suspend_flags=0x%02x\n", suspend_flags);
|
||||
@ -1924,9 +1921,11 @@ static int smsc95xx_reset_resume(struct usb_interface *intf)
|
||||
|
||||
static void smsc95xx_rx_csum_offload(struct sk_buff *skb)
|
||||
{
|
||||
skb->csum = *(u16 *)(skb_tail_pointer(skb) - 2);
|
||||
u16 *csum_ptr = (u16 *)(skb_tail_pointer(skb) - 2);
|
||||
|
||||
skb->csum = (__force __wsum)get_unaligned(csum_ptr);
|
||||
skb->ip_summed = CHECKSUM_COMPLETE;
|
||||
skb_trim(skb, skb->len - 2);
|
||||
skb_trim(skb, skb->len - 2); /* remove csum */
|
||||
}
|
||||
|
||||
static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
|
||||
@ -1985,25 +1984,22 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(skb);
|
||||
skb_trim(skb, skb->len - 4); /* remove fcs */
|
||||
skb->truesize = size + sizeof(struct sk_buff);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
ax_skb = skb_clone(skb, GFP_ATOMIC);
|
||||
ax_skb = netdev_alloc_skb_ip_align(dev->net, size);
|
||||
if (unlikely(!ax_skb)) {
|
||||
netdev_warn(dev->net, "Error allocating skb\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
ax_skb->len = size;
|
||||
ax_skb->data = packet;
|
||||
skb_set_tail_pointer(ax_skb, size);
|
||||
skb_put(ax_skb, size);
|
||||
memcpy(ax_skb->data, packet, size);
|
||||
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(ax_skb);
|
||||
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
|
||||
ax_skb->truesize = size + sizeof(struct sk_buff);
|
||||
|
||||
usbnet_skb_return(dev, ax_skb);
|
||||
}
|
||||
@ -2081,7 +2077,7 @@ static struct sk_buff *smsc95xx_tx_fixup(struct usbnet *dev,
|
||||
|
||||
static int smsc95xx_manage_power(struct usbnet *dev, int on)
|
||||
{
|
||||
struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev->data[0]);
|
||||
struct smsc95xx_priv *pdata = dev->driver_priv;
|
||||
|
||||
dev->intf->needs_remote_wakeup = on;
|
||||
|
||||
|
@ -418,19 +418,15 @@ static int sr9700_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
|
||||
skb_pull(skb, 3);
|
||||
skb->len = len;
|
||||
skb_set_tail_pointer(skb, len);
|
||||
skb->truesize = len + sizeof(struct sk_buff);
|
||||
return 2;
|
||||
}
|
||||
|
||||
/* skb_clone is used for address align */
|
||||
sr_skb = skb_clone(skb, GFP_ATOMIC);
|
||||
sr_skb = netdev_alloc_skb_ip_align(dev->net, len);
|
||||
if (!sr_skb)
|
||||
return 0;
|
||||
|
||||
sr_skb->len = len;
|
||||
sr_skb->data = skb->data + 3;
|
||||
skb_set_tail_pointer(sr_skb, len);
|
||||
sr_skb->truesize = len + sizeof(struct sk_buff);
|
||||
skb_put(sr_skb, len);
|
||||
memcpy(sr_skb->data, skb->data + 3, len);
|
||||
usbnet_skb_return(dev, sr_skb);
|
||||
|
||||
skb_pull(skb, len + SR_RX_OVERHEAD);
|
||||
|
@ -1322,10 +1322,6 @@ static bool vxlan_set_mac(struct vxlan_dev *vxlan,
|
||||
if (ether_addr_equal(eth_hdr(skb)->h_source, vxlan->dev->dev_addr))
|
||||
return false;
|
||||
|
||||
/* Ignore packets from invalid src-address */
|
||||
if (!is_valid_ether_addr(eth_hdr(skb)->h_source))
|
||||
return false;
|
||||
|
||||
/* Get address from the outer IP header */
|
||||
if (vxlan_get_sk_family(vs) == AF_INET) {
|
||||
saddr.sin.sin_addr.s_addr = ip_hdr(skb)->saddr;
|
||||
|
@ -1590,6 +1590,20 @@ static int ar5523_probe(struct usb_interface *intf,
|
||||
struct ar5523 *ar;
|
||||
int error = -ENOMEM;
|
||||
|
||||
static const u8 bulk_ep_addr[] = {
|
||||
AR5523_CMD_TX_PIPE | USB_DIR_OUT,
|
||||
AR5523_DATA_TX_PIPE | USB_DIR_OUT,
|
||||
AR5523_CMD_RX_PIPE | USB_DIR_IN,
|
||||
AR5523_DATA_RX_PIPE | USB_DIR_IN,
|
||||
0};
|
||||
|
||||
if (!usb_check_bulk_endpoints(intf, bulk_ep_addr)) {
|
||||
dev_err(&dev->dev,
|
||||
"Could not find all expected endpoints\n");
|
||||
error = -ENODEV;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/*
|
||||
* Load firmware if the device requires it. This will return
|
||||
* -ENXIO on success and we'll get called back afer the usb
|
||||
|
@ -331,7 +331,7 @@ ath10k_dbg_sta_write_peer_debug_trigger(struct file *file,
|
||||
}
|
||||
out:
|
||||
mutex_unlock(&ar->conf_mutex);
|
||||
return count;
|
||||
return ret ?: count;
|
||||
}
|
||||
|
||||
static const struct file_operations fops_peer_debug_trigger = {
|
||||
|
@ -1709,12 +1709,32 @@ void ath10k_wmi_put_wmi_channel(struct wmi_channel *ch,
|
||||
|
||||
int ath10k_wmi_wait_for_service_ready(struct ath10k *ar)
|
||||
{
|
||||
unsigned long time_left;
|
||||
unsigned long time_left, i;
|
||||
|
||||
time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
|
||||
WMI_SERVICE_READY_TIMEOUT_HZ);
|
||||
if (!time_left)
|
||||
return -ETIMEDOUT;
|
||||
if (!time_left) {
|
||||
/* Sometimes the PCI HIF doesn't receive interrupt
|
||||
* for the service ready message even if the buffer
|
||||
* was completed. PCIe sniffer shows that it's
|
||||
* because the corresponding CE ring doesn't fires
|
||||
* it. Workaround here by polling CE rings once.
|
||||
*/
|
||||
ath10k_warn(ar, "failed to receive service ready completion, polling..\n");
|
||||
|
||||
for (i = 0; i < CE_COUNT; i++)
|
||||
ath10k_hif_send_complete_check(ar, i, 1);
|
||||
|
||||
time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
|
||||
WMI_SERVICE_READY_TIMEOUT_HZ);
|
||||
if (!time_left) {
|
||||
ath10k_warn(ar, "polling timed out\n");
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
|
||||
ath10k_warn(ar, "service ready completion received, continuing normally\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1069,6 +1069,38 @@ static int carl9170_usb_probe(struct usb_interface *intf,
|
||||
ar->usb_ep_cmd_is_bulk = true;
|
||||
}
|
||||
|
||||
/* Verify that all expected endpoints are present */
|
||||
if (ar->usb_ep_cmd_is_bulk) {
|
||||
u8 bulk_ep_addr[] = {
|
||||
AR9170_USB_EP_RX | USB_DIR_IN,
|
||||
AR9170_USB_EP_TX | USB_DIR_OUT,
|
||||
AR9170_USB_EP_CMD | USB_DIR_OUT,
|
||||
0};
|
||||
u8 int_ep_addr[] = {
|
||||
AR9170_USB_EP_IRQ | USB_DIR_IN,
|
||||
0};
|
||||
if (!usb_check_bulk_endpoints(intf, bulk_ep_addr) ||
|
||||
!usb_check_int_endpoints(intf, int_ep_addr))
|
||||
err = -ENODEV;
|
||||
} else {
|
||||
u8 bulk_ep_addr[] = {
|
||||
AR9170_USB_EP_RX | USB_DIR_IN,
|
||||
AR9170_USB_EP_TX | USB_DIR_OUT,
|
||||
0};
|
||||
u8 int_ep_addr[] = {
|
||||
AR9170_USB_EP_IRQ | USB_DIR_IN,
|
||||
AR9170_USB_EP_CMD | USB_DIR_OUT,
|
||||
0};
|
||||
if (!usb_check_bulk_endpoints(intf, bulk_ep_addr) ||
|
||||
!usb_check_int_endpoints(intf, int_ep_addr))
|
||||
err = -ENODEV;
|
||||
}
|
||||
|
||||
if (err) {
|
||||
carl9170_free(ar);
|
||||
return err;
|
||||
}
|
||||
|
||||
usb_set_intfdata(intf, ar);
|
||||
SET_IEEE80211_DEV(ar->hw, &intf->dev);
|
||||
|
||||
|
@ -2706,7 +2706,7 @@ __mwl8k_cmd_mac_multicast_adr(struct ieee80211_hw *hw, int allmulti,
|
||||
cmd->action |= cpu_to_le16(MWL8K_ENABLE_RX_MULTICAST);
|
||||
cmd->numaddr = cpu_to_le16(mc_count);
|
||||
netdev_hw_addr_list_for_each(ha, mc_list) {
|
||||
memcpy(cmd->addr[i], ha->addr, ETH_ALEN);
|
||||
memcpy(cmd->addr[i++], ha->addr, ETH_ALEN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -396,10 +396,18 @@ static ssize_t nvmet_ns_enable_store(struct config_item *item,
|
||||
if (strtobool(page, &enable))
|
||||
return -EINVAL;
|
||||
|
||||
/*
|
||||
* take a global nvmet_config_sem because the disable routine has a
|
||||
* window where it releases the subsys-lock, giving a chance to
|
||||
* a parallel enable to concurrently execute causing the disable to
|
||||
* have a misaccounting of the ns percpu_ref.
|
||||
*/
|
||||
down_write(&nvmet_config_sem);
|
||||
if (enable)
|
||||
ret = nvmet_ns_enable(ns);
|
||||
else
|
||||
nvmet_ns_disable(ns);
|
||||
up_write(&nvmet_config_sem);
|
||||
|
||||
return ret ? ret : count;
|
||||
}
|
||||
|
@ -262,7 +262,7 @@ bfad_debugfs_write_regrd(struct file *file, const char __user *buf,
|
||||
unsigned long flags;
|
||||
void *kern_buf;
|
||||
|
||||
kern_buf = memdup_user(buf, nbytes);
|
||||
kern_buf = memdup_user_nul(buf, nbytes);
|
||||
if (IS_ERR(kern_buf))
|
||||
return PTR_ERR(kern_buf);
|
||||
|
||||
@ -329,7 +329,7 @@ bfad_debugfs_write_regwr(struct file *file, const char __user *buf,
|
||||
unsigned long flags;
|
||||
void *kern_buf;
|
||||
|
||||
kern_buf = memdup_user(buf, nbytes);
|
||||
kern_buf = memdup_user_nul(buf, nbytes);
|
||||
if (IS_ERR(kern_buf))
|
||||
return PTR_ERR(kern_buf);
|
||||
|
||||
|
@ -5627,7 +5627,7 @@ static int hpsa_scsi_host_alloc(struct ctlr_info *h)
|
||||
{
|
||||
struct Scsi_Host *sh;
|
||||
|
||||
sh = scsi_host_alloc(&hpsa_driver_template, sizeof(struct ctlr_info));
|
||||
sh = scsi_host_alloc(&hpsa_driver_template, sizeof(struct ctlr_info *));
|
||||
if (sh == NULL) {
|
||||
dev_err(&h->pdev->dev, "scsi_host_alloc failed\n");
|
||||
return -ENOMEM;
|
||||
|
@ -269,8 +269,7 @@ static void sas_set_ex_phy(struct domain_device *dev, int phy_id, void *rsp)
|
||||
/* help some expanders that fail to zero sas_address in the 'no
|
||||
* device' case
|
||||
*/
|
||||
if (phy->attached_dev_type == SAS_PHY_UNUSED ||
|
||||
phy->linkrate < SAS_LINK_RATE_1_5_GBPS)
|
||||
if (phy->attached_dev_type == SAS_PHY_UNUSED)
|
||||
memset(phy->attached_sas_addr, 0, SAS_ADDR_SIZE);
|
||||
else
|
||||
memcpy(phy->attached_sas_addr, dr->attached_sas_addr, SAS_ADDR_SIZE);
|
||||
|
@ -190,7 +190,7 @@ qedf_dbg_debug_cmd_write(struct file *filp, const char __user *buffer,
|
||||
if (!count || *ppos)
|
||||
return 0;
|
||||
|
||||
kern_buf = memdup_user(buffer, count);
|
||||
kern_buf = memdup_user_nul(buffer, count);
|
||||
if (IS_ERR(kern_buf))
|
||||
return PTR_ERR(kern_buf);
|
||||
|
||||
|
@ -195,10 +195,10 @@ static inline void ufs_qcom_assert_reset(struct ufs_hba *hba)
|
||||
1 << OFFSET_UFS_PHY_SOFT_RESET, REG_UFS_CFG1);
|
||||
|
||||
/*
|
||||
* Make sure assertion of ufs phy reset is written to
|
||||
* register before returning
|
||||
* Dummy read to ensure the write takes effect before doing any sort
|
||||
* of delay
|
||||
*/
|
||||
mb();
|
||||
ufshcd_readl(hba, REG_UFS_CFG1);
|
||||
}
|
||||
|
||||
static inline void ufs_qcom_deassert_reset(struct ufs_hba *hba)
|
||||
@ -207,10 +207,10 @@ static inline void ufs_qcom_deassert_reset(struct ufs_hba *hba)
|
||||
0 << OFFSET_UFS_PHY_SOFT_RESET, REG_UFS_CFG1);
|
||||
|
||||
/*
|
||||
* Make sure de-assertion of ufs phy reset is written to
|
||||
* register before returning
|
||||
* Dummy read to ensure the write takes effect before doing any sort
|
||||
* of delay
|
||||
*/
|
||||
mb();
|
||||
ufshcd_readl(hba, REG_UFS_CFG1);
|
||||
}
|
||||
|
||||
struct ufs_qcom_bus_vote {
|
||||
|
@ -5158,7 +5158,7 @@ static int ufshcd_uic_pwr_ctrl(struct ufs_hba *hba, struct uic_command *cmd)
|
||||
* Make sure UIC command completion interrupt is disabled before
|
||||
* issuing UIC command.
|
||||
*/
|
||||
wmb();
|
||||
ufshcd_readl(hba, REG_INTERRUPT_ENABLE);
|
||||
reenable_intr = true;
|
||||
}
|
||||
ret = __ufshcd_send_uic_cmd(hba, cmd, false);
|
||||
@ -11334,7 +11334,7 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
|
||||
* Make sure that UFS interrupts are disabled and any pending interrupt
|
||||
* status is cleared before registering UFS interrupt handler.
|
||||
*/
|
||||
mb();
|
||||
ufshcd_readl(hba, REG_INTERRUPT_ENABLE);
|
||||
|
||||
mutex_init(&hba->pm_qos.lock);
|
||||
INIT_WORK(&hba->pm_qos.get_work, ufshcd_pm_qos_get_worker);
|
||||
|
@ -861,6 +861,7 @@ static int __spi_map_msg(struct spi_controller *ctlr, struct spi_message *msg)
|
||||
else
|
||||
rx_dev = ctlr->dev.parent;
|
||||
|
||||
ret = -ENOMSG;
|
||||
list_for_each_entry(xfer, &msg->transfers, transfer_list) {
|
||||
if (!ctlr->can_dma(ctlr, msg->spi, xfer))
|
||||
continue;
|
||||
@ -884,6 +885,9 @@ static int __spi_map_msg(struct spi_controller *ctlr, struct spi_message *msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
/* No transfer has been mapped, bail out with success */
|
||||
if (ret)
|
||||
return 0;
|
||||
|
||||
ctlr->cur_msg_mapped = true;
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user