Merge remote-tracking branch 'openela/linux-4.14.y' into 14.0

This commit is contained in:
kondors1995
2024-04-21 22:19:28 +03:00
171 changed files with 3657 additions and 1237 deletions

View File

@@ -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.309
version: 4.14.341
upstream_version: 4.19.311
version: 4.14.343

143
.elts/meta/4.14.342.yaml Normal file
View File

@@ -0,0 +1,143 @@
683e08ff6ef0a279343ba4383c6e01e4a9143050:
title: 'ip: validate header length on virtual device xmit'
mainline: cb9f1b783850b14cbd7f87d061d784a666dfba1f
60e32c8d4c6bb518863249d1c7c7e1fb7c5a9f96:
title: 'net: lan78xx: Allow for VLAN headers in timeout calcs'
b64278fd3d498eeb7a3f9b44cdffd303eaa41ca7:
title: 'net: usb: lan78xx: Disable interrupts before calling generic_handle_irq()'
mainline: 0a29ac5bd3a988dc151c8d26910dec2557421f64
e2ad089a70e591cf7c886be6f559a0e8503674fc:
title: 'net: usb: lan78xx: Remove lots of set but unused ''ret'' variables'
mainline: 06cd7c46b3ab3f2252c61bf85b191236cf0254e1
upstream: 7585522bf089bfebb7bbd22fddb5495f16f250c9
f6cbd3c0c4516263a546a791a9eb985ca5ee04a6:
title: 'lan78xx: Fix white space and style issues'
mainline: 9ceec7d33adf9647293f24d2fd9a055b89c63864
upstream: 09a8c3e4e79157bd3358bc9f0fab1517ae8ad884
b70394861f10fc4bb0a53bb4fe54b79f497fdf79:
title: 'lan78xx: Add missing return code checks'
mainline: 3415f6baaddb9b39d7112247ab39ef3c700f882e
upstream: 20ccd52bd3b5e1323e58a1049d7d5285650c6c64
c2688f303badea10dd8526d734db642898128e7e:
title: 'lan78xx: Fix partial packet errors on suspend/resume'
mainline: e1210fe63bf8b080edd0805240e90b81b6b069c1
upstream: 242c4cd0d906f6f8708c0214b0c926b109f63168
cb2fabebb54f6cc12e8d180c40d9ac59076bb666:
title: 'lan78xx: Fix race conditions in suspend/resume handling'
mainline: 5f4cc6e25148cc141f97afb41b4dfe9eb1cce613
upstream: 513cfa1886cd2a06658410b788236522c2a69583
30336393906643b4fece662c7c2f1871766222fd:
title: 'net: lan78xx: fix runtime PM count underflow on link stop'
mainline: 1eecc7ab82c42133b748e1895275942a054a7f67
upstream: 575689f40b415299864bf1826d03e71d3d807c73
de6f8690a982faf789a071b7683e3b26274faf4e:
title: 'net: move definition of pcpu_lstats to header file'
mainline: 52bb6677d530d37055092d86b4eab69dce6c166a
upstream: 6463ace2a35d22642c90147ebced20ef6145eac6
46ae53df59e8bb5f52d184011ff4db8582b47874:
title: 'net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb'
mainline: d13f048dd40e8577260cd43faea8ec9b77520197
3b1e13eb6c7bcbc71e0766dc21ccb55f8d15ab50:
title: 'geneve: make sure to pull inner header in geneve_rx()'
mainline: 1ca1ba465e55b9460e4e75dec9fff31e708fec74
upstream: e431c3227864b5646601c97f5f898d99472f2914
08230f3ca93b03add21ae1e8ddf08bd283daab23:
title: 'netfilter: nf_conntrack_h323: Remove typedef struct'
0025d996dd7b719a14f477ad3fa810abdf406585:
title: 'netfilter: nf_ct_h323: Out Of Bound Read in Netfilter Conntrack'
5ee983c52f6ca4fa4f15d9ff3b82634237b49e4f:
title: 'netfilter: nf_ct_h323: Convert CHECK_BOUND macro to function'
74a4c76141e79f28621987d7a5d1233528717105:
title: 'netfilter: nf_ct_h323: Extend nf_h323_error_boundary to work on bits as well'
1c31b4059c9416af2dfb42f087f64edd607eb35f:
title: 'netfilter: nf_conntrack_h323: Add protection for bmp length out of range'
mainline: 767146637efc528b5e3d31297df115e85a2fd362
upstream: 98db42191329c679f4ca52bec0b319689e1ad8cb
7bab6671e4d56af53eaa19b4e61d349ce3b1cee7:
title: 'netrom: Fix a data-race around sysctl_netrom_default_path_quality'
mainline: 958d6145a6d9ba9e075c921aead8753fb91c9101
upstream: 7644df766006d4878a556e427e3ecc78c2d5606b
5993b06357724c9656435dcd39ef3f731bb68719:
title: 'netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initialiser'
mainline: cfd9f4a740f772298308b2e6070d2c744fb5cf79
upstream: e3a3718b1723253d4f068e88e81d880d71f1a1e9
3babe0b373c89f4557d880edfaee1269e0565619:
title: 'netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser'
mainline: 119cae5ea3f9e35cdada8e572cc067f072fa825a
upstream: acc653e8a3aaab1b7103f98645f2cce7be89e3d3
75af2f874a607d406075ebee8872267e7610cc9c:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_timeout'
mainline: 60a7a152abd494ed4f69098cf0f322e6bb140612
upstream: 500936692ccca8617a955652d1929f079b17a201
6e9e490c1c0f727effa44d696b29b363b9ddf216:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries'
mainline: e799299aafed417cc1f32adccb2a0e5268b3f6d5
upstream: 84b8486e9cedc93875f251ba31abcf73bd586a3a
9da1d2a1e6687d4009eff99367df4bf7dee17f6c:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay'
mainline: 806f462ba9029d41aadf8ec93f2f99c5305deada
upstream: 6133a71c75dacea12fcc85838b4455c2055b0f14
943942802104ff9dcb435d85456b08967878b40d:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_busy_delay'
mainline: 43547d8699439a67b78d6bb39015113f7aa360fd
upstream: 7782e5e7047cae6b9255ee727c99fc73d77cf773
3f661371119e40c7307cff48dfaa28ba19ec6a20:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_requested_window_size'
mainline: a2e706841488f474c06e9b33f71afc947fb3bf56
upstream: 4f2efa17c3ec5e4be0567b47439b9713c0dc6550
0a8e233837a214086305549c6cc3c10505960a18:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_no_activity_timeout'
mainline: f99b494b40431f0ca416859f2345746199398e2b
upstream: 73426c32e259c767d40613b956d5b80d0c28a9a9
4851e4321fdf86f860623d8541f46916cbd9b8e7:
title: 'netrom: Fix a data-race around sysctl_netrom_routing_control'
mainline: b5dffcb8f71bdd02a4e5799985b51b12f4eeaf76
upstream: c13fbb5902bce848759385986d4833f5b90782c1
3c574b4ac9511dee909385868739d64de9abf892:
title: 'netrom: Fix a data-race around sysctl_netrom_link_fails_count'
mainline: bc76645ebdd01be9b9994dac39685a3d0f6f7985
upstream: 97a4d8b9f67cc7efe9a0c137e12f6d9e40795bf1
daa941d9ed63191c6d3e13d640ecd55a07d449a3:
title: 'netrom: Fix data-races around sysctl_net_busy_read'
mainline: d380ce70058a4ccddc3e5f5c2063165dc07672c6
upstream: d623fd5298d95b65d27ef5a618ebf39541074856
0e37e77f60fe5fe48b7010deb499d284c92003c6:
title: 'tools/selftest/vm: allow choosing mem size and page size in map_hugetlb'
mainline: fa7b9a805c797b729022029aaa3a2b7c35fff4c6
upstream: becbfcabedfe3ceb9bd6184c172fad00c0a8feb0
b37d2d9d10c65fabe5b9b53ec84d9388202f4bf2:
title: 'selftests: mm: fix map_hugetlb failure on 64K page size systems'
mainline: 91b80cc5b39f00399e8e2d17527cad2c7fa535e2
upstream: abdbd5f3e8c504d864fdc032dd5a4eb481cb12bf
fb847632d0d888521c17c0f1109ca827316281a4:
title: 'um: allow not setting extra rpaths in the linux binary'
mainline: 386093c68ba3e8bcfe7f46deba901e0e80713c29
upstream: 90091bdf5df0195de0d2d8e3e4d43aaaee122d34
8ddca3d65f8a45b7a4e8d844441b30f990e0b015:
title: 'hv_netvsc: use netif_is_bond_master() instead of open code'
mainline: c60882a4566a0a62dc3a40c85131103aad83dcb3
upstream: a2577793ff166cc18fe4192a8b1bca2d37253e6a
f2348ee837cee8604c0502b6ef9d806ce1cc13ec:
title: 'getrusage: add the "signal_struct *sig" local variable'
mainline: c7ac8231ace9b07306d0299969e42073b189c70a
upstream: e904c9a4834888cb2b37607d9571f49964f4603f
c048d8254a03786c76d3e0f7b687c98f951c7957:
title: 'getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand()'
mainline: daa694e4137571b4ebec330f9a9b4d54aa8b8089
upstream: 33ec341e3e9588962ff3cf49f642da140d3ecfc0
82f1e0dc48d7753fa960bfc2cec672a0aaf69e01:
title: 'getrusage: use __for_each_thread()'
mainline: 13b7bc60b5353371460a203df6c38ccd38ad7a3a
upstream: e24772adaaf4b81ac0855cceb17080352526f765
8d11949c478109b80f65d7b3da4927407e61c10a:
title: 'getrusage: use sig->stats_lock rather than lock_task_sighand()'
mainline: f7ec1cd5cc7ef3ad964b677ba82b8b77f1c93009
upstream: c96f49d3a741f6693feecdb067c442b609903d03
fee13d620a067a56d35582ad3bae29e9fd6dd1f8:
title: 'selftests/vm: fix display of page size in map_hugetlb'
mainline: 1ec882fc81e3177faf055877310dbdb0c68eb7db
upstream: 71317d703c550c819b5465c3a49ce98650089865
f19d6a15935beb1be8aee2845912d846e5649981:
title: 'selftests/vm: fix map_hugetlb length used for testing read and write'
mainline: cabc30da10e677c67ab9a136b1478175734715c5
upstream: af289249ec5c79200c4ec4ec7f4902378956c4d7

532
.elts/meta/4.14.343.yaml Normal file
View File

@@ -0,0 +1,532 @@
3300a318344fb9cee9d92161549c7cfef5ac1413:
title: 'xen/events: only register debug interrupt for 2-level events'
mainline: d04b1ae5a9b0c868dda8b4b34175ef08f3cb9e93
5ee8a0e79d4147dd41e7e4e420d91e2f16eb4bb6:
title: 'x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()'
mainline: 69143f60868b3939ddc89289b29db593b647295e
f2645f10d789c047bcaf11a573ed337bad4f0707:
title: 'x86/xen: Add some null pointer checking to smp.c'
mainline: 3693bb4465e6e32a204a5b86d3ec7e6b9f7e67c2
upstream: 70a33a629090130d731fc1e1ad498bb672eea165
96405638c5c2567f6c27cfd84ada8a5a5311b231:
title: 'MIPS: Clear Cause.BD in instruction_pointer_set'
mainline: 9d6e21ddf20293b3880ae55b9d14de91c5891c59
upstream: b0b3373993a5b445eeb410d7c74a87710aad9d6e
3ded98fc3b9716997438f60daf0452b7c3e6d360:
title: 'net/iucv: fix the allocation size of iucv_path_table array'
mainline: b4ea9b6a18ebf7f9f3a7a60f82e925186978cfcf
upstream: 13f5b64a584b5554f81e7e493dcbafaddd06557d
e9f9eb0c2d8c5c96fc354cf8ede84f4ba6f38d19:
title: 'block: sed-opal: handle empty atoms when parsing response'
mainline: 5429c8de56f6b2bd8f537df3a1e04e67b9c04282
upstream: 72da7347f460b2ecc5e934bcbef312e0fa5ebf2b
e6d8df74f2692f4e83306e293a8c503112d32aa8:
title: 'dm-verity, dm-crypt: align "struct bvec_iter" correctly'
mainline: 787f1b2800464aa277236a66eb3c279535edd460
upstream: 8338d971f919256b312f28a9a320f552a499dc8e
70928e45cbbe230a8fde12a6bb7bbbfb77139e7f:
title: 'scsi: mpt3sas: Prevent sending diag_reset when the controller is ready'
mainline: ee0017c3ed8a8abfa4d40e42f908fb38c31e7515
upstream: 6cc96148d26afbf1e3b8167ee68dc9eec387804d
b79150eddce93e7bf87f005c9c996abd90d4655e:
title: 'Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security'
mainline: 2535b848fa0f42ddff3e5255cf5e742c9b77bb26
upstream: 369f419c097e82407dd429a202cde9a73d3ae29b
51ec1ed43d0b4ab1228eb55189fa939ad579c4c2:
title: 'firewire: core: use long bus reset on gap count error'
mainline: d0b06dc48fb15902d7da09c5c0861e7f042a9381
upstream: b89198d02d0149f22149675766c47883de923106
243004088d2707ad353b4ee4dd6b96f76daca68d:
title: 'Input: gpio_keys_polled - suppress deferred probe error for gpio'
mainline: 963465a33141d0d52338e77f80fe543d2c9dc053
upstream: a215f042a7f57346fd5430e84f81f822e84975b5
6895f6831861ceceb98e7b6604ec9050a37c8173:
title: 'ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC'
mainline: 03c7874106ca5032a312626b927b1c35f07b1f35
upstream: c2a85fd64160fcf4185669d4db299fbb2df76986
2a2f4e8dfe12971fd6b78ec6e05179151bea4a88:
title: 'ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode'
mainline: 6fa849e4d78b880e878138bf238e4fd2bac3c4fa
upstream: 2f87e22ea1b42b89435bf98a768eb8227797d819
cacf64e0af45cb788a70941441fc6423149b1d9f:
title: 'ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll'
mainline: 96e202f8c52ac49452f83317cf3b34cd1ad81e18
upstream: d619f175ff50582c05858cb96d05391f77c7c7aa
ed2edd721e156046bb4dc4587f06af360f875581:
title: 'crypto: af_alg - make some functions static'
mainline: 466e0759269d31485074126700574230bfff3b1c
upstream: 0ca02d4beebb7b47ea0cbdceac891465cbb966c6
f63a7bf2dcf7e05021785b64b184795f6b6a6ccd:
title: 'crypto: algif_aead - Only wake up when ctx->more is zero'
mainline: f3c802a1f30013f8f723b62d7fa49eb9e991da23
upstream: de564b59755dfb080ef237dd4fbd02cb0c3e58a1
ce3317e4a96642984d3e7fbaf33a086176052bf8:
title: 'do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak'
mainline: 3948abaa4e2be938ccdfc289385a27342fb13d43
upstream: 4bac28f441e3cc9d3f1a84c8d023228a68d8a7c1
70137872f87a2e47239cf7ea0d9b295f173f6c27:
title: 'fs/select: rework stack allocation hack for clang'
mainline: ddb9fd7a544088ed70eccbb9f85e9cc9952131c1
upstream: b86af4d77a5a2487020794845c1a2e948699630c
644ef6ff144cf72b7c0170ade4a8a449f01d9e63:
title: 'md: switch to ->check_events for media change notifications'
mainline: a564e23f0f99759f453dbefcb9160dec6d99df96
upstream: dc51c01a3d5a796e18520a186f56e13f8e70749f
5621bcf7c79c834e98f01dfea929a7bbf7d600ab:
title: 'block: add a new set_read_only method'
mainline: e00adcadf3af7a8335026d71ab9f0e0a922191ac
upstream: f28658bc8a7faa03578dc2588b5b3b56b09575a6
1d018bd5617e06f3c7bd6df7cacaf79a35cd4da3:
title: 'md: implement ->set_read_only to hook into BLKROSET processing'
mainline: 118cf084adb3964d06e1667cf7d702e56e5cd2c5
upstream: bde70d747f81f7f014b7c63d6a7b2dd6c8356f43
fe9ee4210de1a9816e6e99a791894f87a62c2fb3:
title: 'md: Don''t clear MD_CLOSING when the raid is about to stop'
mainline: 9674f54e41fffaf06f6a60202e1fa4cc13de3cf5
upstream: 8eea2ea62b459cebffd20d5d5121becbec838291
67f0ca2ac39c5b06d90c7bbb3f4dbd01a96fd1fa:
title: 'aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts'
mainline: f98364e926626c678fb4b9004b75cacf92ff0662
upstream: ad80c34944d7175fa1f5c7a55066020002921a99
44b1502cbcf6899a21c9d4ec8c61f5bcfaee0d03:
title: 'timekeeping: Fix cross-timestamp interpolation on counter wrap'
mainline: 84dccadd3e2a3f1a373826ad71e5ced5e76b0c00
upstream: 3c22ef22761ab15b1c32ea5997859c0719fdc14d
ed6452adf4a6e0b9641fc065d63ddc6075238c23:
title: 'timekeeping: Fix cross-timestamp interpolation corner case decision'
mainline: 87a41130881995f82f7adbafbfeddaebfb35f0ef
upstream: 86c7cc07eef558e9986a17ac5b6d5f44c8b493bd
fabbb78782e6dd484cc0e036e1e0dbbb8c70b8da:
title: 'timekeeping: Fix cross-timestamp interpolation for non-x86'
mainline: 14274d0bd31b4debf28284604589f596ad2e99f2
upstream: 20880812b2f8fad4cf269f83bd5266eed31f0208
0e7ba895f0ec865043f09e88cbfc750869e3d81a:
title: 'b43: dma: Fix use true/false for bool type variable'
mainline: a9160bb35ad9ada8428a4d48426f7fc128db40cc
upstream: eb014286140dd5bd4f82417bb186edbbb2f1d3a4
c6fa41a3cb1d5f9fff1b455d779df5a47c44f254:
title: 'wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled'
mainline: 9636951e4468f02c72cc75a82dc65d003077edbc
upstream: 1824f942527f784a19e01eac2d9679a21623d010
947b5e0d7e03173f242ce6c5871cb82e357529f9:
title: 'wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled'
mainline: 77135a38f6c2f950d2306ac3d37cbb407e6243f2
upstream: 5175e6256f5ad36ceea6ad5aa44f6ce87764e653
73a69fcb66db7b037de6c521e49ba54ee21e5e3c:
title: 'b43: main: Fix use true/false for bool type'
mainline: 6db774c1725059f98e4fce97f878688248584be5
upstream: ddd8aa7d4959a42786c3e2c2491c33e91e032f88
13876838c450d766f468452a940c14e7f16ce55b:
title: 'wifi: b43: Stop correct queue in DMA worker when QoS is disabled'
mainline: 581c8967d66c4961076dbbee356834e9c6777184
upstream: 0191ff009dce9740494e37a8616b3f0a3b38d884
14ee0973eab90a53de93ef3bd02f73ef9cb54622:
title: 'wifi: b43: Disable QoS for bcm4331'
mainline: 09795bded2e725443fe4a4803cae2079cdaf7b26
upstream: 4828567fd9625926c07fe711a096d5374f5f42d5
4b8198ce7bd031846776dc60a66402697e2d3f9b:
title: 'wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir()'
mainline: 50180c7f8e3de7c2d87f619131776598fcb1478d
upstream: 1e68b5319090ee3f810580c059a202ec8b24bdbe
c4d2af79e42344f14a2826b617fbe57e263c8e36:
title: 'sock_diag: request _diag module only when the family or proto has been registered'
7e6bdf38024904a26cf237968d6f476d3060ea8c:
title: 'sock_diag: annotate data-races around sock_diag_handlers[family]'
mainline: efd402537673f9951992aea4ef0f5ff51d858f4b
upstream: cffd4a7c975848e2bb7c577e5c814a0d2bc9efd4
d4a666252ef7cc7e3c6c126564e8f8e3ac751196:
title: 'af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc().'
mainline: 31e03207119a535d0b0e3b3a7f91983aeb2cb14d
upstream: 0c41412330b8804ec9829ecb929a21d8cc2e06c5
7dbbfcf6db50dd29b7040c06826c2f26b8813b6a:
title: 'wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer()'
mainline: 5f0e4aede01cb01fa633171f0533affd25328c3a
upstream: 96481624fb5a6319079fb5059e46dbce43a90186
d39f836a2b9e34610d3c1b6800adda8b1b98b6b6:
title: 'ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit()'
mainline: e18afcb7b2a12b635ac10081f943fcf84ddacc51
upstream: d351bcadab6caa6d8ce7159ff4b77e2da35c09fa
3ecc2213610561a98f56332417ce1cd445addd80:
title: 'bus: tegra-aconnect: Update dependency to ARCH_TEGRA'
mainline: 4acd21a45c1446277e2abaece97d7fa7c2e692a9
upstream: dfd9078eecdac8d45badc029d0a1afb9b887d089
cff340eed43a60e8352306c2d0daa936e2609d55:
title: 'iommu/amd: Mark interrupt as managed'
mainline: 0feda94c868d396fac3b3cb14089d2d989a07c72
upstream: 46b9f2480b5bd3793340754eb52aa887fcbeb2f1
7f3fb7d44b2c90cb14e6bdc2be5058669186d725:
title: 'wifi: brcmsmac: avoid function pointer casts'
mainline: e1ea6db35fc3ba5ff063f097385e9f7a88c25356
upstream: 523bd0437c687d0b4edf7548b95217993746c64c
a8674f8f32d3ce9502633eec64d5f1240d7ab031:
title: 'ARM: dts: arm: realview: Fix development chip ROM compatible value'
mainline: 3baa4c5143d65ebab2de0d99a395e5f4f1f46608
upstream: d6a0ddacb07986dbd08d97b8c8b0928778e318b4
ff060748955642dd9eb032bb32bf8d3c8b0c809c:
title: 'ACPI: scan: Fix device check notification handling'
mainline: 793551c965116d9dfaf0550dacae1396a20efa69
upstream: 3dd8bfb5f23fa1605f2a7b62c91258a7d778ccb1
f1a4dbde435665ebd50419198f51995a86722489:
title: 'x86, relocs: Ignore relocations in .notes section'
mainline: aaa8736370db1a78f0e8434344a484f9fd20be3b
upstream: 13edb509abc91c72152a11baaf0e7c060a312e03
98dd836d4d90f8c75583cdb77e51e43416145bf2:
title: 'SUNRPC: fix some memleaks in gssx_dec_option_array'
mainline: 3cfcfc102a5e57b021b786a755a38935e357797d
upstream: b97c37978ca825557d331c9012e0c1ddc0e42364
4cb02a03a5ed3ea326f92cb72cc6d96019ea43f4:
title: 'mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function'
mainline: ae5004a40a262d329039b99b62bd3fe7645b66ad
upstream: f10426db32e7712fcc72154e2fa288f7127094ad
7344a5ae74cc4e62b079a877d20b2570e2f235ef:
title: 'igb: move PEROUT and EXTTS isr logic to separate functions'
mainline: cf99c1dd7b7729091043374b90807c7a5f9fd9b1
upstream: d686b4537ead6bdd1a636040c00af51e9e0a1bc5
2fe7a8cde6d1b03ecb4fed3f7cf6e5427463cfda:
title: 'igb: Fix missing time sync events'
mainline: ee14cc9ea19ba9678177e2224a9c58cce5937c73
upstream: f346bf4db1ebaad9c8ca5aae6397c7867b8ac4f3
e63d5f1f3f5f918a0a94e7d4facccfa6342239cc:
title: 'Bluetooth: Remove superfluous call to hci_conn_check_pending()'
mainline: 78e3639fc8031275010c3287ac548c0bc8de83b1
upstream: 6e960390709966929a29eaec8bca710237a54f24
224f6971eb2b4457331804d194017c1524f8157f:
title: 'Bluetooth: hci_core: Fix possible buffer overflow'
mainline: 81137162bfaa7278785b24c1fd2e9e74f082e8e4
upstream: 6d5a9d4a7bcbb7534ce45a18a52e7bd23e69d8ac
aca6a0b117cfb0701cc2bea02db1e8c6372b08b0:
title: 'sr9800: Add check for usbnet_get_endpoints'
mainline: 07161b2416f740a2cb87faa5566873f401440a61
upstream: 424eba06ed405d557077339edb19ce0ebe39e7c7
5b157b57a27deae00138ebbf9abe793d85b80d12:
title: 'bpf: Fix hashtab overflow check on 32-bit arches'
mainline: 6787d916c2cf9850c97a0a3f73e08c43e7d973b1
upstream: 33ec04cadb77605b71d9298311919303d390c4d5
c7eb664d0ae8b3da9621816bfe11ad862c24e342:
title: 'bpf: Fix stackmap overflow check on 32-bit arches'
mainline: 7a4b21250bf79eef26543d35bd390448646c536b
upstream: d0e214acc59145ce25113f617311aa79dda39cb3
efa596b077451aef0f8bb760ad3975264a046ee4:
title: 'ipv6: fib6_rules: flush route cache when rule is changed'
mainline: c4386ab4f6c600f75fdfd21143f89bac3e625d0d
upstream: 95db6e62a2d920abf43c169e51046adb9f394ef0
9676e9447d12a404638bbee6bd43852440c7c137:
title: 'tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function'
mainline: 716edc9706deb3bb2ff56e2eeb83559cea8f22db
upstream: d909b53ff5b8f005b474b4417ee271f5a4adca94
a0e4e51da39f5a7fc9d9e1f5fc14640701887d90:
title: 'l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function'
mainline: 955e9876ba4ee26eeaab1b13517f5b2c88e73d55
upstream: 51a7e05fbca612ae1f09f62dfe21957380b8546d
5cfa0a58e61d01c690063af3623d0a53b76951a6:
title: 'udp: fix incorrect parameter validation in the udp_lib_getsockopt() function'
mainline: 4bb3ba7b74fceec6f558745b25a43c6521cf5506
upstream: f21612ee652c08b4a5a0bb11528035f57935fae1
59a4e1ed1e12998b6ee449091fe2ae36597b223b:
title: 'net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function'
mainline: 3ed5f415133f9b7518fbe55ba9ae9a3f5e700929
upstream: 867608c0abcbdc86e62925604ac2d3f0c7ca678a
fa19944cf14ae594b5b1353f881e80f4d83016b5:
title: 'net/x25: fix incorrect parameter validation in the x25_getsockopt() function'
mainline: d6eb8de2015f0c24822e47356f839167ebde2945
upstream: 7089428a1a4e28efa0c36877d80639a8306fdbf4
3d651f489f213a8688c49fdb9c5af4e94aaefe08:
title: 'dm raid: fix false positive for requeue needed during reshape'
mainline: b25b8f4b8ecef0f48c05f0c3572daeabefe16526
upstream: 52a35f5551c6c63f2c50c24117377faa47b2395c
d8348562b9ba5d57db7ff9c39b40c326d81fec2d:
title: 'dm: call the resume method on internal suspend'
mainline: 65e8fbde64520001abf1c8d0e573561b4746ef38
upstream: 69836d9329f0b4c58faaf3d886a7748ddb5bf718
c5b100db7c774d0770809952834e65c00da6aed8:
title: 'drm/tegra: dsi: Add missing check for of_find_device_by_node'
mainline: afe6fcb9775882230cd29b529203eabd5d2a638d
upstream: 47a13d0b9d8527518639ab5c39667f69d6203e80
a1d6e2d545ae60e3c0f14afc655960a12a1836ce:
title: 'gpu: host1x: mipi: Update tegra_mipi_request() to be node based'
mainline: 767598d447aa46411289c5808b0e45e20a1823b4
upstream: aaa5ef6db779a2ffdac6e2c4e27a042fc85af425
a7f31893877bed52efc884b8151f7bd211643115:
title: 'drm/tegra: dsi: Make use of the helper function dev_err_probe()'
mainline: fc75e4fcbd1e4252a0481ebb23cd4516c127a8e2
upstream: 4003d399dd34bd9a80fcf78a3feb3140eb82b2b8
beef7ea1764bd7497ea4a76932b5b57bb6d1147d:
title: 'drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe()'
mainline: 830c1ded356369cd1303e8bb87ce3fea6e744de8
upstream: 0cb8749a621cdd291dc8976bbc245029124d402a
8f0f744ebf00a199144bb821d0d1b186de6be782:
title: 'drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe()'
mainline: 5286a9fc280c45b6b307ee1b07f7a997e042252c
upstream: d7e898d13a867014352f0daf98f8a0155c67a3c9
9514fc65463c56256c0fbb075a6e414d2c440e9c:
title: 'drm/rockchip: inno_hdmi: Fix video timing'
mainline: 47a145c03484d33e65d773169d5ca1b9fe2a492e
upstream: c031022829a91114cb2bd531c38de99184957b6d
36ac37d23799588aa1f243c55a9958bac40ce8be:
title: 'drm: Don''t treat 0 as -1 in drm_fixp2int_ceil'
mainline: cf8837d7204481026335461629b84ac7f4538fa5
upstream: e3271a9f1432472bfd1aec82a5086d6b10e0dfec
f37d112202ea81abf2af9a552cd3657f8b042342:
title: 'media: tc358743: register v4l2 async device only after successful setup'
mainline: 87399f1ff92203d65f1febf5919429f4bb613a02
upstream: 17c2650de14842c25c569cbb2126c421489a3a24
e2bc2e2b68b321dfd3fb2c66691014a66ee074a6:
title: 'media: em28xx: annotate unchecked call to media_device_register()'
mainline: fd61d77a3d28444b2635f0c8b5a2ecd6a4d94026
upstream: 8b3c5d95bcc85f4333b6968ae7710ee2a1b28f0a
fdec9e17f52ea90aa40441a258d62ad3f0d6707d:
title: 'media: v4l2-tpg: fix some memleaks in tpg_alloc'
mainline: 8cf9c5051076e0eb958f4361d50d8b0c3ee6691c
upstream: 0de691ff547d86dd54c24b40a81f9c925df8dd77
08af260a5bc1b71c1278dccb64a7866ea0687ef3:
title: 'media: dvbdev: remove double-unlock'
mainline: 122d0e8dd050cc5dc3fb9e9b5f2dee3c5276ce35
upstream: cfa5ffc57e54fb8b864d23b6992cb37d706f6a87
88b9134f0e55fe9a7162ee90e5324e2fd91b0ad9:
title: 'media: media/dvb: Use kmemdup rather than duplicating its implementation'
mainline: f6af820ef1be58c2e4b81aa479b9f109eb6344ce
upstream: 6e4129f8163460c79bb99887bc6f791196fcbda2
5ace531d9048d5957c275071f8e55d5b3261e03e:
title: 'media: dvbdev: Fix memleak in dvb_register_device'
mainline: 167faadfcf9339088910e9e85a1b711fcbbef8e9
upstream: 085f36c317cba8b8955c5da5f59c7486345d2bbb
83a32ee58edae39a2e9bb7d71f36d0317ebf39d2:
title: 'media: dvbdev: fix error logic at dvb_register_device()'
mainline: 1fec2ecc252301110e4149e6183fa70460d29674
upstream: a30cf94eaf5dd3ffd8d13c3a8c303d04357b01c1
0ae7184adc0e7116a0bc81eded303fc031db1812:
title: 'media: dvbdev: convert DVB device types into an enum'
8f649cb42cc0154445a0319a3ec9e0f6f37737b5:
title: 'media: dvb-core: Fix use-after-free due to race at dvb_register_device()'
mainline: 627bb528b086b4136315c25d6a447a98ea9448d3
upstream: dc04ff778b4f8ff4560f1c42993417359e74d36a
dec38a328d1cb93913450eab8c0b2b52ca6d96b7:
title: 'media: edia: dvbdev: fix a use-after-free'
mainline: 8c64f4cdf4e6cc5682c52523713af8c39c94e6d5
upstream: d0f5c28333822f9baa5280d813124920720fd856
a9c53a71d5103df700ba1022bd793c2e7da2e4b3:
title: 'clk: qcom: reset: Allow specifying custom reset delay'
mainline: 2cb8a39b6781ea23accd1fa93b3ad000d0948aec
upstream: 5f0a066e0ece83eb4c72c6672539bcdbfeb39a4e
7091467f8cf4ffb05762766872608822fba862a6:
title: 'clk: qcom: reset: support resetting multiple bits'
mainline: 4a5210893625f89723ea210d7c630b730abb37ad
upstream: 38dd93f87da08876edf8df89a5992ce46da920ea
fb58c616f8d5d230746a6e834a13daaf9616432d:
title: 'clk: qcom: reset: Commonize the de/assert functions'
mainline: eda40d9c583e95e0b6ac69d2950eec10f802e0e8
upstream: 823c46950d9a96e94db8f565013f4f2f528c2bbe
3acb0bf9b01663735e38d8647655c4c2dc81aa80:
title: 'clk: qcom: reset: Ensure write completion on reset de/assertion'
mainline: 2f8cf2c3f3e3f7ef61bd19abb4b0bb797ad50aaf
upstream: d258d124f435adb3cac491e4b0274e75597f3a02
045db5c9471c0d3662193af5123c40c459442c29:
title: 'quota: code cleanup for __dquot_alloc_space()'
mainline: df15a2a59d0b29d86e17140b83ed231adaded12f
upstream: d9e4ab12b60a49204435102f8120c0d3e62583f1
34b20f6e467fcd6dcd4352a429263beca0cc46fc:
title: 'fs/quota: erase unused but set variable warning'
mainline: 78bc3334a69ff289dbc973a9db7c52a2d7757e5b
upstream: 1974c13019b97140149690cd622a9c6732c32124
92b446b2b7dfe86c8955bf914789754b2d44ec81:
title: 'quota: check time limit when back out space/inode change'
mainline: 632a9f3acd6687376cbb0b178df6048e19cbacc9
upstream: e87ed533e7a6167f4a5e1b0fdbf21784acf115cc
ba23e07d50c32bf3e5c651e29fe526f53652b28b:
title: 'quota: simplify drop_dquot_ref()'
mainline: 7bce48f0fec602b3b6c335963b26d9eefa417788
upstream: 248699a705f31211c0d7cc9e0d79cbbabbc9c791
b2b5f36baf4785d586642aab144412e5961b7955:
title: 'quota: Fix potential NULL pointer dereference'
mainline: d0aa72604fbd80c8aabb46eda00535ed35570f1f
upstream: 8514899c1a4edf802f03c408db901063aa3f05a1
9b7a96f32e377542671c0cc2c43a1ab5cfa84723:
title: 'quota: Fix rcu annotations of inode dquot pointers'
mainline: 179b8c97ebf63429589f5afeba59a181fe70603e
upstream: 06172dff9a47e76dfce9b60d44ef21131b417803
d85a1e5fdc93c04aad783ac5134fe266a0a372b7:
title: 'perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str()'
mainline: 1eb3d924e3c0b8c27388b0583a989d757866efb6
upstream: f9e92ad5eb0901cacac8f1cc4e5ea12514f7934b
38f97031f0e5fad4f2a081d34cd1a1365cca5e05:
title: 'drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode()'
mainline: c4891d979c7668b195a0a75787967ec95a24ecef
upstream: 1c35795b90f4dce0605ace7eef9ae1bd1282ebf2
9075faa224b8911050442a04a83e7156df94f0b7:
title: 'ALSA: seq: fix function cast warnings'
mainline: d7bf73809849463f76de42aad62c850305dd6c5d
upstream: 9f9254f8927d9f4e4185ec18d8ee648dfcb5ed62
0203c9b23b47d5e2f6d817b69d592ccc88d9a1f5:
title: 'media: go7007: add check of return value of go7007_read_addr()'
mainline: 0b70530ee740861f4776ff724fcc25023df1799a
upstream: ff13e3ce6aa4c0dfdbc6438fe3c03118afe3ee8c
ef1a77adc95fea554698fbbe7530b7e7da5ef4a6:
title: 'media: pvrusb2: fix pvr2_stream_callback casts'
mainline: 30baa4a96b23add91a87305baaeba82c4e109e1f
upstream: 4e93392ae27eb5f8ad4efd31cf8f1ecd5fdabe15
bbb93685c7c6f27816955df2d599ca30a5ff2dbb:
title: 'drm/mediatek: dsi: Fix DSI RGB666 formats and definitions'
mainline: fae6f815505301b92d9113764f4d76d0bfe45607
upstream: a5e660dba9ff73531053664e20dd858d880adbdb
8bfb9ffc388bc45abfcbf77b8b2c0715c4a950f6:
title: 'PCI: Mark 3ware-9650SE Root Port Extended Tags as broken'
mainline: baf67aefbe7d7deafa59ca49612d163f8889934c
upstream: 8443ceba0a8e5960e134ef26346266cb2d3a251d
2c4e4f364fc917492491e7e801a11aa3d021eaba:
title: 'clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister()'
mainline: 74e39f526d95c0c119ada1874871ee328c59fbee
upstream: 907370aacf216e3a662d44e88d204413488444b3
964b1a6dfa9591962a88502cbce73e0d5a39f12c:
title: 'drm/tegra: put drm_gem_object ref on error in tegra_fb_create'
mainline: 32e5a120a5105bce01561978ee55aee8e40ac0dc
upstream: d674e78da934afd2ce5935eff08cf5361a9a27ac
cc17862516e0adc1504c13f2bcf8e6e660af3912:
title: 'mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref'
mainline: d2b0680cf3b05490b579e71b0df6e07451977745
upstream: 5d16d3dc28a95915c1f7a41f68f2a069ced4b578
7fc8137190a1cebb8826d8ed71480d2653801e3f:
title: 'crypto: arm - Rename functions to avoid conflict with crypto/sha256.h'
mainline: e4dcc1be15268b6d34de3968f906577591521bd5
upstream: bdb1db7115d9b2a9d10c101dfc67386485fad00d
0147d403e14fcf04d14e54c8db8c92e0b9e895c1:
title: 'crypto: arm/sha - fix function cast warnings'
mainline: 53cc9baeb9bc2a187eb9c9790d30995148852b12
upstream: 8d27d1b155c26bae2bd76b0c3e78cc4f1f1e21c5
1b84c12ebaccfd96af1d200d69bad289842962a9:
title: 'mtd: rawnand: lpc32xx_mlc: fix irq handler prototype'
mainline: 347b828882e6334690e7003ce5e2fe5f233dc508
upstream: 9fc05d7953b0d71372b632e1d62abf78c6ac9d64
d7fb1c3d480ad75315a420879665772dd588cd44:
title: 'drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int()'
mainline: 7cf1ad2fe10634238b38442a851d89514cb14ea2
upstream: 5a2b18dbec88b972d570994483f188cb59586609
6251ccc9fe18868635199a6e3dcd17ac5732060a:
title: 'media: pvrusb2: fix uaf in pvr2_context_set_notify'
mainline: 0a0b79ea55de8514e1750884e5fec77f9fdd01ee
upstream: ed8000e1e8e9684ab6c30cf2b526c0cea039929c
810b8a9fe3e1bc6bc357b08882289aab5be3909e:
title: 'media: dvb-frontends: avoid stack overflow warnings with clang'
mainline: 7a4cf27d1f0538f779bf31b8c99eda394e277119
upstream: c073c8cede5abd3836e83d70d72606d11d0759d4
d692197c4290038026cd849e964cbc0963b8baf7:
title: 'media: go7007: fix a memleak in go7007_load_encoder'
mainline: b9b683844b01d171a72b9c0419a2d760d946ee12
upstream: 7f11dd3d165b178e738fe73dfeea513e383bedb5
f754e826a42f26ce110d8c22ac3efcd5b8f714a8:
title: 'drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip'
mainline: c958e86e9cc1b48cac004a6e245154dfba8e163b
upstream: accdac6b71d5a2b84040c3d2234f53a60edc398e
1785997d8b483b47a511d6d61e2e8cc20095ec5d:
title: 'powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks'
mainline: ad86d7ee43b22aa2ed60fb982ae94b285c1be671
upstream: 0a1754ba8d537e054b01f0c2dc6b653a5a1b685d
138ea96e89f7b2bccb7b3fee18b0a4430e6b2f5c:
title: 'powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc.'
mainline: 20933531be0577cdd782216858c26150dbc7936f
upstream: 131dffef3a81e9c6f4a9e278ffd66f3eb5ae8c3e
e50c0ec386b601a2161ecf3ce4d8bb64dc0226bd:
title: 'backlight: lm3630a: Initialize backlight_properties on init'
mainline: ad9aeb0e3aa90ebdad5fabf9c21783740eb95907
upstream: 063b294747b47f7bdaad3953542e73552bf7fe65
d0ca047e07a3357a1cfa5de925311b5496e1b233:
title: 'backlight: lm3630a: Don''t set bl->props.brightness in get_brightness'
mainline: 4bf7ddd2d2f0f8826f25f74c7eba4e2c323a1446
upstream: 85360e411bd2239ef184178352fab6582a0fcb85
80b386048fb42668966e1afc0ae2c4d6e6dfd1fa:
title: 'backlight: da9052: Fully initialize backlight_properties during probe'
mainline: 0285e9efaee8276305db5c52a59baf84e9731556
upstream: ba9f50fa0edd4d45bc9840ba05efa9b526a30b53
2f286fb34ca716ba08e7f4cb0f020ce20cb9d219:
title: 'backlight: lm3639: Fully initialize backlight_properties during probe'
mainline: abb5a5d951fbea3feb5c4ba179b89bb96a1d3462
upstream: 9d0aaf425cc5aec627ee7cae0990e6c5b7d2adb9
3f2fe45a95a3f6a3cd5f7c17d8c53a41b1800d75:
title: 'backlight: lp8788: Fully initialize backlight_properties during probe'
mainline: 392346827fbe8a7fd573dfb145170d7949f639a6
upstream: 3301f60ab7ebc14ec7242f1ad62dc151e11cd308
1455216df91812ea6d3e0fcf0ce4be142ba39cbc:
title: 'sparc32: Fix section mismatch in leon_pci_grpci'
mainline: 24338a6ae13cb743ced77da1b3a12c83f08a0c96
upstream: 6bf3c3508c839c4457058686fbd59d9c55e5e598
684d0dfc0167a62bb2fc9c3c2d97e421a6f8f1d7:
title: 'ALSA: usb-audio: Stop parsing channels bits when all channels are found.'
mainline: a39d51ff1f52cd0b6fe7d379ac93bd8b4237d1b7
upstream: 7e2c1b0f6dd9abde9e60f0f9730026714468770f
ee504736ec7911bfb90382f7f3222faa7982dc0f:
title: 'scsi: csiostor: Avoid function pointer casts'
mainline: 9f3dbcb5632d6876226031d552ef6163bb3ad215
upstream: 77d9c6364756ec8986b8d7f801bcb2295cfa036a
826d2a5f4af824bc5457e9ca919e6d0e0da677c5:
title: 'scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn'
mainline: b69600231f751304db914c63b937f7098ed2895c
upstream: 8413fc5ef952b5ddd606a42b2be1e15694e2f526
dd5627de25e1b9b306a735e52a9be0189c50681e:
title: 'net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr()'
mainline: d6f4de70f73a106986ee315d7d512539f2f3303a
upstream: 867a6a6899a68323d6ef8995ea3765611d67ba1e
43e88e13e5e89dabaa722dcbe424df93ff3fa50b:
title: 'NFS: Fix an off by one in root_nfs_cat()'
mainline: 698ad1a538da0b6bf969cfee630b4e3a026afb87
upstream: 9bb320c5cea50e7fa82a477743a6a0546eaa37b3
ac71f4414591935d0d42f189b92234f8475c8e26:
title: 'clk: qcom: gdsc: Add support to update GDSC transition delay'
mainline: 4e7c4d3652f96f41179aab3ff53025c7a550d689
upstream: 13c921e83ef2f8c2d7f6d79272e7760de605ca3c
5f8e15a6c9782fe17177f6adbed2605e2626ec1a:
title: 'serial: max310x: fix syntax error in IRQ error message'
mainline: 8ede8c6f474255b2213cccd7997b993272a8e2f9
upstream: e75ae3225cd1e1648c5140abf21d8c76b4b5e10a
2ba503c76ed0e3fb44574c56c207662044701968:
title: 'tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT'
mainline: 314c2b399288f0058a8c5b6683292cbde5f1531b
upstream: 6e839e4153c9881d79f94263fa352db35aa82b20
5fa039f25b048a293240318f643539862f51a239:
title: 'rtc: mediatek: enhance the description for MediaTek PMIC based RTC'
251fdf12a591f6f0393c9a074493372ee677d5ef:
title: 'rtc: mt6397: select IRQ_DOMAIN instead of depending on it'
mainline: 544c42f798e1651dcb04fb0395219bf0f1c2607e
upstream: 575fe3cc7fe2f80e9f45e1d36a4526ea43fbf280
05809dc60c6107cc2d59fc9e5c6ab7880415cce8:
title: 'serial: 8250_exar: Don''t remove GPIO device on suspend'
mainline: 73b5a5c00be39e23b194bad10e1ea8bb73eee176
upstream: 787e2620d1574196f10193a7c3693d95958254cb
5bc6fb9dd8654ad945d2ab614de42276880ed458:
title: 'staging: greybus: fix get_channel_from_mode() failure path'
mainline: 34164202a5827f60a203ca9acaf2d9f7d432aac8
upstream: 40bbb7e4e83a53b5ae2c4b79c675618159571d83
f950312d06f35a0dcf0d89eedd046d78ecaacb57:
title: 'usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin'
mainline: 600556809f04eb3bbccd05218215dcd7b285a9a9
upstream: 4371549533b124e1693a7771303e44ed827af2e0
c412392d4e52ac3f871a4b94dcd97886f61f1c68:
title: 'net: hsr: fix placement of logical operator in a multi-line statement'
mainline: 059477830022e1886f55a9641702461c249fa864
upstream: 9706929ab421a6f68ed72fc0e6371e4fca8e698a
f185d5434353871c54ffa351ed5647bc974a29f9:
title: 'hsr: Fix uninit-value access in hsr_get_node()'
mainline: ddbec99f58571301679addbc022256970ca3eac6
upstream: e3b2bfb8ff1810a537b2aa55ba906a6743ed120c
e2ef56dd89fdb684f70940c3a13aeacaa5551b2f:
title: 'rds: introduce acquire/release ordering in acquire/release_in_xmit()'
mainline: 1422f28826d2a0c11e5240b3e951c9e214d8656e
upstream: bec6c4ce1169a565c58c347d5d0ac22e46d507d6
b3f50f65706d8c16fc23b4c2d67622da15dbf2f2:
title: 'hsr: Handle failures in module init'
mainline: 3cf28cd492308e5f63ed00b29ea03ca016264376
upstream: 9a4e0ec0624c5b3e07fb042b307b98c3543de2f4
ac6c533f13a4ec9071d6548a8be5467ab238c6aa:
title: 'net/bnx2x: Prevent access to a freed page in page_pool'
mainline: d27e2da94a42655861ca4baea30c8cd65546f25d
upstream: 7bcc090c81116c66936a7415f2c6b1483a4bcfd9
d49e4f3714a9208ee47e19da264ef74eab869b2e:
title: 'spi: spi-mt65xx: Fix NULL pointer access in interrupt handler'
mainline: a20ad45008a7c82f1184dc6dee280096009ece55
upstream: 2342b05ec5342a519e00524a507f7a6ea6791a38
2939b898498d9da54f5ea4c0b3d698a7644843fa:
title: 'crypto: af_alg - Fix regression on empty requests'
mainline: 662bb52f50bca16a74fe92b487a14d7dccb85e1a
upstream: 546e3961b5d4c6db82cfb441fabb4353940c8f95
3f81c30ae458bf0f8cc2f421f3254ffa59dd95df:
title: 'crypto: af_alg - Work around empty control messages without MSG_MORE'
mainline: c195d66a8a75c60515819b101975f38b7ec6577f
upstream: ba1f292491c011fa11d80b152f15ef97e4519891

View File

@@ -0,0 +1,152 @@
7585522bf089bfebb7bbd22fddb5495f16f250c9:
title: 'net: usb: lan78xx: Remove lots of set but unused ''ret'' variables'
mainline: 06cd7c46b3ab3f2252c61bf85b191236cf0254e1
backport: e2ad089a70e591cf7c886be6f559a0e8503674fc
09a8c3e4e79157bd3358bc9f0fab1517ae8ad884:
title: 'lan78xx: Fix white space and style issues'
mainline: 9ceec7d33adf9647293f24d2fd9a055b89c63864
backport: f6cbd3c0c4516263a546a791a9eb985ca5ee04a6
20ccd52bd3b5e1323e58a1049d7d5285650c6c64:
title: 'lan78xx: Add missing return code checks'
mainline: 3415f6baaddb9b39d7112247ab39ef3c700f882e
backport: b70394861f10fc4bb0a53bb4fe54b79f497fdf79
242c4cd0d906f6f8708c0214b0c926b109f63168:
title: 'lan78xx: Fix partial packet errors on suspend/resume'
mainline: e1210fe63bf8b080edd0805240e90b81b6b069c1
backport: c2688f303badea10dd8526d734db642898128e7e
513cfa1886cd2a06658410b788236522c2a69583:
title: 'lan78xx: Fix race conditions in suspend/resume handling'
mainline: 5f4cc6e25148cc141f97afb41b4dfe9eb1cce613
backport: cb2fabebb54f6cc12e8d180c40d9ac59076bb666
575689f40b415299864bf1826d03e71d3d807c73:
title: 'net: lan78xx: fix runtime PM count underflow on link stop'
mainline: 1eecc7ab82c42133b748e1895275942a054a7f67
backport: 30336393906643b4fece662c7c2f1871766222fd
6463ace2a35d22642c90147ebced20ef6145eac6:
title: 'net: move definition of pcpu_lstats to header file'
mainline: 52bb6677d530d37055092d86b4eab69dce6c166a
backport: de6f8690a982faf789a071b7683e3b26274faf4e
e431c3227864b5646601c97f5f898d99472f2914:
title: 'geneve: make sure to pull inner header in geneve_rx()'
mainline: 1ca1ba465e55b9460e4e75dec9fff31e708fec74
backport: 3b1e13eb6c7bcbc71e0766dc21ccb55f8d15ab50
31ea5bcc7d4cd1423de6be327a2c034725704136:
title: 'net/ipv6: avoid possible UAF in ip6_route_mpath_notify()'
mainline: 685f7d531264599b3f167f1e94bbd22f120e5fab
skipped: commit 93531c6743157d7e8c5792f8ed1a5 is not present; backport is too risky
786854141057751bc08eb26f1b02e97c1631c8f4:
title: 'net/rds: fix WARNING in rds_conn_connect_if_down'
mainline: c055fc00c07be1f0df7375ab0036cebd1106ed38
skipped: backport is too risky
98db42191329c679f4ca52bec0b319689e1ad8cb:
title: 'netfilter: nf_conntrack_h323: Add protection for bmp length out of range'
mainline: 767146637efc528b5e3d31297df115e85a2fd362
backport: 1c31b4059c9416af2dfb42f087f64edd607eb35f
7644df766006d4878a556e427e3ecc78c2d5606b:
title: 'netrom: Fix a data-race around sysctl_netrom_default_path_quality'
mainline: 958d6145a6d9ba9e075c921aead8753fb91c9101
backport: 7bab6671e4d56af53eaa19b4e61d349ce3b1cee7
e3a3718b1723253d4f068e88e81d880d71f1a1e9:
title: 'netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initialiser'
mainline: cfd9f4a740f772298308b2e6070d2c744fb5cf79
backport: 5993b06357724c9656435dcd39ef3f731bb68719
acc653e8a3aaab1b7103f98645f2cce7be89e3d3:
title: 'netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser'
mainline: 119cae5ea3f9e35cdada8e572cc067f072fa825a
backport: 3babe0b373c89f4557d880edfaee1269e0565619
500936692ccca8617a955652d1929f079b17a201:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_timeout'
mainline: 60a7a152abd494ed4f69098cf0f322e6bb140612
backport: 75af2f874a607d406075ebee8872267e7610cc9c
84b8486e9cedc93875f251ba31abcf73bd586a3a:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries'
mainline: e799299aafed417cc1f32adccb2a0e5268b3f6d5
backport: 6e9e490c1c0f727effa44d696b29b363b9ddf216
6133a71c75dacea12fcc85838b4455c2055b0f14:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay'
mainline: 806f462ba9029d41aadf8ec93f2f99c5305deada
backport: 9da1d2a1e6687d4009eff99367df4bf7dee17f6c
7782e5e7047cae6b9255ee727c99fc73d77cf773:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_busy_delay'
mainline: 43547d8699439a67b78d6bb39015113f7aa360fd
backport: 943942802104ff9dcb435d85456b08967878b40d
4f2efa17c3ec5e4be0567b47439b9713c0dc6550:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_requested_window_size'
mainline: a2e706841488f474c06e9b33f71afc947fb3bf56
backport: 3f661371119e40c7307cff48dfaa28ba19ec6a20
73426c32e259c767d40613b956d5b80d0c28a9a9:
title: 'netrom: Fix a data-race around sysctl_netrom_transport_no_activity_timeout'
mainline: f99b494b40431f0ca416859f2345746199398e2b
backport: 0a8e233837a214086305549c6cc3c10505960a18
c13fbb5902bce848759385986d4833f5b90782c1:
title: 'netrom: Fix a data-race around sysctl_netrom_routing_control'
mainline: b5dffcb8f71bdd02a4e5799985b51b12f4eeaf76
backport: 4851e4321fdf86f860623d8541f46916cbd9b8e7
97a4d8b9f67cc7efe9a0c137e12f6d9e40795bf1:
title: 'netrom: Fix a data-race around sysctl_netrom_link_fails_count'
mainline: bc76645ebdd01be9b9994dac39685a3d0f6f7985
backport: 3c574b4ac9511dee909385868739d64de9abf892
d623fd5298d95b65d27ef5a618ebf39541074856:
title: 'netrom: Fix data-races around sysctl_net_busy_read'
mainline: d380ce70058a4ccddc3e5f5c2063165dc07672c6
backport: daa941d9ed63191c6d3e13d640ecd55a07d449a3
40011850de6d613e982c84c854018aeca2c6bb19:
title: 'btrfs: ref-verify: free ref cache before clearing mount opt'
mainline: f03e274a8b29d1d1c1bbd7f764766cb5ca537ab7
skipped: fixes patch not in branch
becbfcabedfe3ceb9bd6184c172fad00c0a8feb0:
title: 'tools/selftest/vm: allow choosing mem size and page size in map_hugetlb'
mainline: fa7b9a805c797b729022029aaa3a2b7c35fff4c6
backport: 0e37e77f60fe5fe48b7010deb499d284c92003c6
abdbd5f3e8c504d864fdc032dd5a4eb481cb12bf:
title: 'selftests: mm: fix map_hugetlb failure on 64K page size systems'
mainline: 91b80cc5b39f00399e8e2d17527cad2c7fa535e2
backport: b37d2d9d10c65fabe5b9b53ec84d9388202f4bf2
90091bdf5df0195de0d2d8e3e4d43aaaee122d34:
title: 'um: allow not setting extra rpaths in the linux binary'
mainline: 386093c68ba3e8bcfe7f46deba901e0e80713c29
backport: fb847632d0d888521c17c0f1109ca827316281a4
39807e3985ffa2714e46362fdded274a2d768578:
title: 'Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU'
mainline: a60e6c3918d20848906ffcdfcf72ca6a8cfbcf2e
skipped: commit 32863a2d5db62c4fa401ced61388d680421002d6 is not present (unsupported hardware)
61acc4c4a3c33905b124dc4af206df92c1426500:
title: 'hv_netvsc: Make netvsc/VF binding check both MAC and serial number'
mainline: 64ff412ad41fe3a5bf759ff4844dc1382176485c
skipped: commit 00d7ddba1143623b31bc2c15d18216e2da031b14 is not present
a2577793ff166cc18fe4192a8b1bca2d37253e6a:
title: 'hv_netvsc: use netif_is_bond_master() instead of open code'
mainline: c60882a4566a0a62dc3a40c85131103aad83dcb3
backport: 8ddca3d65f8a45b7a4e8d844441b30f990e0b015
bcb7164258d0a9a8aa2e73ddccc2d78f67d2519d:
title: 'hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed'
mainline: 9cae43da9867412f8bd09aee5c8a8dc5e8dc3dc2
skipped: fixes patch not in branch
d5e38d6b84d6d21a4f8a4f555a0908b6d9ffe224:
title: 'y2038: rusage: use __kernel_old_timeval'
mainline: bdd565f817a74b9e30edec108f7cb1dbc762b8a6
skipped: 4.14 does not have struct __kernel_old_timeval and backporting would be too risky
e904c9a4834888cb2b37607d9571f49964f4603f:
title: 'getrusage: add the "signal_struct *sig" local variable'
mainline: c7ac8231ace9b07306d0299969e42073b189c70a
backport: f2348ee837cee8604c0502b6ef9d806ce1cc13ec
33ec341e3e9588962ff3cf49f642da140d3ecfc0:
title: 'getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand()'
mainline: daa694e4137571b4ebec330f9a9b4d54aa8b8089
backport: c048d8254a03786c76d3e0f7b687c98f951c7957
e24772adaaf4b81ac0855cceb17080352526f765:
title: 'getrusage: use __for_each_thread()'
mainline: 13b7bc60b5353371460a203df6c38ccd38ad7a3a
backport: 82f1e0dc48d7753fa960bfc2cec672a0aaf69e01
c96f49d3a741f6693feecdb067c442b609903d03:
title: 'getrusage: use sig->stats_lock rather than lock_task_sighand()'
mainline: f7ec1cd5cc7ef3ad964b677ba82b8b77f1c93009
backport: 8d11949c478109b80f65d7b3da4927407e61c10a
71317d703c550c819b5465c3a49ce98650089865:
title: 'selftests/vm: fix display of page size in map_hugetlb'
mainline: 1ec882fc81e3177faf055877310dbdb0c68eb7db
backport: fee13d620a067a56d35582ad3bae29e9fd6dd1f8
af289249ec5c79200c4ec4ec7f4902378956c4d7:
title: 'selftests/vm: fix map_hugetlb length used for testing read and write'
mainline: cabc30da10e677c67ab9a136b1478175734715c5
backport: f19d6a15935beb1be8aee2845912d846e5649981

View File

@@ -0,0 +1,576 @@
53b523420981228674aabbc3d27d3461db19f499:
title: 'ASoC: rt5645: Make LattePanda board DMI match more precise'
mainline: 551539a8606e28cb2a130f8ef3e9834235b456c4
skipped: too many upstream changes; not worth the risk
70a33a629090130d731fc1e1ad498bb672eea165:
title: 'x86/xen: Add some null pointer checking to smp.c'
mainline: 3693bb4465e6e32a204a5b86d3ec7e6b9f7e67c2
backport: f2645f10d789c047bcaf11a573ed337bad4f0707
b0b3373993a5b445eeb410d7c74a87710aad9d6e:
title: 'MIPS: Clear Cause.BD in instruction_pointer_set'
mainline: 9d6e21ddf20293b3880ae55b9d14de91c5891c59
backport: 96405638c5c2567f6c27cfd84ada8a5a5311b231
13f5b64a584b5554f81e7e493dcbafaddd06557d:
title: 'net/iucv: fix the allocation size of iucv_path_table array'
mainline: b4ea9b6a18ebf7f9f3a7a60f82e925186978cfcf
backport: 3ded98fc3b9716997438f60daf0452b7c3e6d360
72da7347f460b2ecc5e934bcbef312e0fa5ebf2b:
title: 'block: sed-opal: handle empty atoms when parsing response'
mainline: 5429c8de56f6b2bd8f537df3a1e04e67b9c04282
backport: e9f9eb0c2d8c5c96fc354cf8ede84f4ba6f38d19
8338d971f919256b312f28a9a320f552a499dc8e:
title: 'dm-verity, dm-crypt: align "struct bvec_iter" correctly'
mainline: 787f1b2800464aa277236a66eb3c279535edd460
backport: e6d8df74f2692f4e83306e293a8c503112d32aa8
6cc96148d26afbf1e3b8167ee68dc9eec387804d:
title: 'scsi: mpt3sas: Prevent sending diag_reset when the controller is ready'
mainline: ee0017c3ed8a8abfa4d40e42f908fb38c31e7515
backport: 70928e45cbbe230a8fde12a6bb7bbbfb77139e7f
369f419c097e82407dd429a202cde9a73d3ae29b:
title: 'Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security'
mainline: 2535b848fa0f42ddff3e5255cf5e742c9b77bb26
backport: b79150eddce93e7bf87f005c9c996abd90d4655e
b89198d02d0149f22149675766c47883de923106:
title: 'firewire: core: use long bus reset on gap count error'
mainline: d0b06dc48fb15902d7da09c5c0861e7f042a9381
backport: 51ec1ed43d0b4ab1228eb55189fa939ad579c4c2
2d400317217470b2dc28bb776efeb9c3d53e0340:
title: 'ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet'
mainline: f8b0127aca8c60826e7354e504a12d4a46b1c3bb
skipped: causes build failure; not security issue
a215f042a7f57346fd5430e84f81f822e84975b5:
title: 'Input: gpio_keys_polled - suppress deferred probe error for gpio'
mainline: 963465a33141d0d52338e77f80fe543d2c9dc053
backport: 243004088d2707ad353b4ee4dd6b96f76daca68d
c2a85fd64160fcf4185669d4db299fbb2df76986:
title: 'ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC'
mainline: 03c7874106ca5032a312626b927b1c35f07b1f35
backport: 6895f6831861ceceb98e7b6604ec9050a37c8173
2f87e22ea1b42b89435bf98a768eb8227797d819:
title: 'ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode'
mainline: 6fa849e4d78b880e878138bf238e4fd2bac3c4fa
backport: 2a2f4e8dfe12971fd6b78ec6e05179151bea4a88
d619f175ff50582c05858cb96d05391f77c7c7aa:
title: 'ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll'
mainline: 96e202f8c52ac49452f83317cf3b34cd1ad81e18
backport: cacf64e0af45cb788a70941441fc6423149b1d9f
17a1144baa54edb9c97014ad441a03b93e50ab75:
title: 'crypto: algif_aead - fix uninitialized ctx->init'
mainline: 21dfbcd1f5cbff9cf2f9e7e43475aed8d072b0dd
skipped: fixes patch not in branch
0ca02d4beebb7b47ea0cbdceac891465cbb966c6:
title: 'crypto: af_alg - make some functions static'
mainline: 466e0759269d31485074126700574230bfff3b1c
backport: ed2edd721e156046bb4dc4587f06af360f875581
de564b59755dfb080ef237dd4fbd02cb0c3e58a1:
title: 'crypto: algif_aead - Only wake up when ctx->more is zero'
mainline: f3c802a1f30013f8f723b62d7fa49eb9e991da23
backport: f63a7bf2dcf7e05021785b64b184795f6b6a6ccd
4bac28f441e3cc9d3f1a84c8d023228a68d8a7c1:
title: 'do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak'
mainline: 3948abaa4e2be938ccdfc289385a27342fb13d43
backport: ce3317e4a96642984d3e7fbaf33a086176052bf8
b86af4d77a5a2487020794845c1a2e948699630c:
title: 'fs/select: rework stack allocation hack for clang'
mainline: ddb9fd7a544088ed70eccbb9f85e9cc9952131c1
backport: 70137872f87a2e47239cf7ea0d9b295f173f6c27
dc51c01a3d5a796e18520a186f56e13f8e70749f:
title: 'md: switch to ->check_events for media change notifications'
mainline: a564e23f0f99759f453dbefcb9160dec6d99df96
backport: 644ef6ff144cf72b7c0170ade4a8a449f01d9e63
f28658bc8a7faa03578dc2588b5b3b56b09575a6:
title: 'block: add a new set_read_only method'
mainline: e00adcadf3af7a8335026d71ab9f0e0a922191ac
backport: 5621bcf7c79c834e98f01dfea929a7bbf7d600ab
bde70d747f81f7f014b7c63d6a7b2dd6c8356f43:
title: 'md: implement ->set_read_only to hook into BLKROSET processing'
mainline: 118cf084adb3964d06e1667cf7d702e56e5cd2c5
backport: 1d018bd5617e06f3c7bd6df7cacaf79a35cd4da3
8eea2ea62b459cebffd20d5d5121becbec838291:
title: 'md: Don''t clear MD_CLOSING when the raid is about to stop'
mainline: 9674f54e41fffaf06f6a60202e1fa4cc13de3cf5
backport: fe9ee4210de1a9816e6e99a791894f87a62c2fb3
ad80c34944d7175fa1f5c7a55066020002921a99:
title: 'aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts'
mainline: f98364e926626c678fb4b9004b75cacf92ff0662
backport: 67f0ca2ac39c5b06d90c7bbb3f4dbd01a96fd1fa
3c22ef22761ab15b1c32ea5997859c0719fdc14d:
title: 'timekeeping: Fix cross-timestamp interpolation on counter wrap'
mainline: 84dccadd3e2a3f1a373826ad71e5ced5e76b0c00
backport: 44b1502cbcf6899a21c9d4ec8c61f5bcfaee0d03
86c7cc07eef558e9986a17ac5b6d5f44c8b493bd:
title: 'timekeeping: Fix cross-timestamp interpolation corner case decision'
mainline: 87a41130881995f82f7adbafbfeddaebfb35f0ef
backport: ed6452adf4a6e0b9641fc065d63ddc6075238c23
20880812b2f8fad4cf269f83bd5266eed31f0208:
title: 'timekeeping: Fix cross-timestamp interpolation for non-x86'
mainline: 14274d0bd31b4debf28284604589f596ad2e99f2
backport: fabbb78782e6dd484cc0e036e1e0dbbb8c70b8da
0cd3b0a1dc987697cba1fe93c784365aa1f8a230:
title: 'wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev()'
mainline: ad25ee36f00172f7d53242dc77c69fff7ced0755
skipped: fixes patch not in branch
eb014286140dd5bd4f82417bb186edbbb2f1d3a4:
title: 'b43: dma: Fix use true/false for bool type variable'
mainline: a9160bb35ad9ada8428a4d48426f7fc128db40cc
backport: 0e7ba895f0ec865043f09e88cbfc750869e3d81a
1824f942527f784a19e01eac2d9679a21623d010:
title: 'wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled'
mainline: 9636951e4468f02c72cc75a82dc65d003077edbc
backport: c6fa41a3cb1d5f9fff1b455d779df5a47c44f254
5175e6256f5ad36ceea6ad5aa44f6ce87764e653:
title: 'wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled'
mainline: 77135a38f6c2f950d2306ac3d37cbb407e6243f2
backport: 947b5e0d7e03173f242ce6c5871cb82e357529f9
ddd8aa7d4959a42786c3e2c2491c33e91e032f88:
title: 'b43: main: Fix use true/false for bool type'
mainline: 6db774c1725059f98e4fce97f878688248584be5
backport: 73a69fcb66db7b037de6c521e49ba54ee21e5e3c
0191ff009dce9740494e37a8616b3f0a3b38d884:
title: 'wifi: b43: Stop correct queue in DMA worker when QoS is disabled'
mainline: 581c8967d66c4961076dbbee356834e9c6777184
backport: 13876838c450d766f468452a940c14e7f16ce55b
4828567fd9625926c07fe711a096d5374f5f42d5:
title: 'wifi: b43: Disable QoS for bcm4331'
mainline: 09795bded2e725443fe4a4803cae2079cdaf7b26
backport: 14ee0973eab90a53de93ef3bd02f73ef9cb54622
1e68b5319090ee3f810580c059a202ec8b24bdbe:
title: 'wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir()'
mainline: 50180c7f8e3de7c2d87f619131776598fcb1478d
backport: 4b8198ce7bd031846776dc60a66402697e2d3f9b
cffd4a7c975848e2bb7c577e5c814a0d2bc9efd4:
title: 'sock_diag: annotate data-races around sock_diag_handlers[family]'
mainline: efd402537673f9951992aea4ef0f5ff51d858f4b
backport: 7e6bdf38024904a26cf237968d6f476d3060ea8c
0c41412330b8804ec9829ecb929a21d8cc2e06c5:
title: 'af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc().'
mainline: 31e03207119a535d0b0e3b3a7f91983aeb2cb14d
backport: d4a666252ef7cc7e3c6c126564e8f8e3ac751196
96481624fb5a6319079fb5059e46dbce43a90186:
title: 'wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer()'
mainline: 5f0e4aede01cb01fa633171f0533affd25328c3a
backport: 7dbbfcf6db50dd29b7040c06826c2f26b8813b6a
d351bcadab6caa6d8ce7159ff4b77e2da35c09fa:
title: 'ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit()'
mainline: e18afcb7b2a12b635ac10081f943fcf84ddacc51
backport: d39f836a2b9e34610d3c1b6800adda8b1b98b6b6
dfd9078eecdac8d45badc029d0a1afb9b887d089:
title: 'bus: tegra-aconnect: Update dependency to ARCH_TEGRA'
mainline: 4acd21a45c1446277e2abaece97d7fa7c2e692a9
backport: 3ecc2213610561a98f56332417ce1cd445addd80
46b9f2480b5bd3793340754eb52aa887fcbeb2f1:
title: 'iommu/amd: Mark interrupt as managed'
mainline: 0feda94c868d396fac3b3cb14089d2d989a07c72
backport: cff340eed43a60e8352306c2d0daa936e2609d55
523bd0437c687d0b4edf7548b95217993746c64c:
title: 'wifi: brcmsmac: avoid function pointer casts'
mainline: e1ea6db35fc3ba5ff063f097385e9f7a88c25356
backport: 7f3fb7d44b2c90cb14e6bdc2be5058669186d725
d6a0ddacb07986dbd08d97b8c8b0928778e318b4:
title: 'ARM: dts: arm: realview: Fix development chip ROM compatible value'
mainline: 3baa4c5143d65ebab2de0d99a395e5f4f1f46608
backport: a8674f8f32d3ce9502633eec64d5f1240d7ab031
3dd8bfb5f23fa1605f2a7b62c91258a7d778ccb1:
title: 'ACPI: scan: Fix device check notification handling'
mainline: 793551c965116d9dfaf0550dacae1396a20efa69
backport: ff060748955642dd9eb032bb32bf8d3c8b0c809c
13edb509abc91c72152a11baaf0e7c060a312e03:
title: 'x86, relocs: Ignore relocations in .notes section'
mainline: aaa8736370db1a78f0e8434344a484f9fd20be3b
backport: f1a4dbde435665ebd50419198f51995a86722489
b97c37978ca825557d331c9012e0c1ddc0e42364:
title: 'SUNRPC: fix some memleaks in gssx_dec_option_array'
mainline: 3cfcfc102a5e57b021b786a755a38935e357797d
backport: 98dd836d4d90f8c75583cdb77e51e43416145bf2
f10426db32e7712fcc72154e2fa288f7127094ad:
title: 'mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function'
mainline: ae5004a40a262d329039b99b62bd3fe7645b66ad
backport: 4cb02a03a5ed3ea326f92cb72cc6d96019ea43f4
d686b4537ead6bdd1a636040c00af51e9e0a1bc5:
title: 'igb: move PEROUT and EXTTS isr logic to separate functions'
mainline: cf99c1dd7b7729091043374b90807c7a5f9fd9b1
backport: 7344a5ae74cc4e62b079a877d20b2570e2f235ef
f346bf4db1ebaad9c8ca5aae6397c7867b8ac4f3:
title: 'igb: Fix missing time sync events'
mainline: ee14cc9ea19ba9678177e2224a9c58cce5937c73
backport: 2fe7a8cde6d1b03ecb4fed3f7cf6e5427463cfda
6e960390709966929a29eaec8bca710237a54f24:
title: 'Bluetooth: Remove superfluous call to hci_conn_check_pending()'
mainline: 78e3639fc8031275010c3287ac548c0bc8de83b1
backport: e63d5f1f3f5f918a0a94e7d4facccfa6342239cc
6d5a9d4a7bcbb7534ce45a18a52e7bd23e69d8ac:
title: 'Bluetooth: hci_core: Fix possible buffer overflow'
mainline: 81137162bfaa7278785b24c1fd2e9e74f082e8e4
backport: 224f6971eb2b4457331804d194017c1524f8157f
424eba06ed405d557077339edb19ce0ebe39e7c7:
title: 'sr9800: Add check for usbnet_get_endpoints'
mainline: 07161b2416f740a2cb87faa5566873f401440a61
backport: aca6a0b117cfb0701cc2bea02db1e8c6372b08b0
33ec04cadb77605b71d9298311919303d390c4d5:
title: 'bpf: Fix hashtab overflow check on 32-bit arches'
mainline: 6787d916c2cf9850c97a0a3f73e08c43e7d973b1
backport: 5b157b57a27deae00138ebbf9abe793d85b80d12
d0e214acc59145ce25113f617311aa79dda39cb3:
title: 'bpf: Fix stackmap overflow check on 32-bit arches'
mainline: 7a4b21250bf79eef26543d35bd390448646c536b
backport: c7eb664d0ae8b3da9621816bfe11ad862c24e342
95db6e62a2d920abf43c169e51046adb9f394ef0:
title: 'ipv6: fib6_rules: flush route cache when rule is changed'
mainline: c4386ab4f6c600f75fdfd21143f89bac3e625d0d
backport: efa596b077451aef0f8bb760ad3975264a046ee4
d909b53ff5b8f005b474b4417ee271f5a4adca94:
title: 'tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function'
mainline: 716edc9706deb3bb2ff56e2eeb83559cea8f22db
backport: 9676e9447d12a404638bbee6bd43852440c7c137
51a7e05fbca612ae1f09f62dfe21957380b8546d:
title: 'l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function'
mainline: 955e9876ba4ee26eeaab1b13517f5b2c88e73d55
backport: a0e4e51da39f5a7fc9d9e1f5fc14640701887d90
f21612ee652c08b4a5a0bb11528035f57935fae1:
title: 'udp: fix incorrect parameter validation in the udp_lib_getsockopt() function'
mainline: 4bb3ba7b74fceec6f558745b25a43c6521cf5506
backport: 5cfa0a58e61d01c690063af3623d0a53b76951a6
867608c0abcbdc86e62925604ac2d3f0c7ca678a:
title: 'net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function'
mainline: 3ed5f415133f9b7518fbe55ba9ae9a3f5e700929
backport: 59a4e1ed1e12998b6ee449091fe2ae36597b223b
7089428a1a4e28efa0c36877d80639a8306fdbf4:
title: 'net/x25: fix incorrect parameter validation in the x25_getsockopt() function'
mainline: d6eb8de2015f0c24822e47356f839167ebde2945
backport: fa19944cf14ae594b5b1353f881e80f4d83016b5
d746889db75a76aeee95fb705b8e1ac28c684a2e:
title: 'nfp: flower: handle acti_netdevs allocation failure'
mainline: 84e95149bd341705f0eca6a7fcb955c548805002
skipped: fixes patch not in branch
52a35f5551c6c63f2c50c24117377faa47b2395c:
title: 'dm raid: fix false positive for requeue needed during reshape'
mainline: b25b8f4b8ecef0f48c05f0c3572daeabefe16526
backport: 3d651f489f213a8688c49fdb9c5af4e94aaefe08
69836d9329f0b4c58faaf3d886a7748ddb5bf718:
title: 'dm: call the resume method on internal suspend'
mainline: 65e8fbde64520001abf1c8d0e573561b4746ef38
backport: d8348562b9ba5d57db7ff9c39b40c326d81fec2d
47a13d0b9d8527518639ab5c39667f69d6203e80:
title: 'drm/tegra: dsi: Add missing check for of_find_device_by_node'
mainline: afe6fcb9775882230cd29b529203eabd5d2a638d
backport: c5b100db7c774d0770809952834e65c00da6aed8
aaa5ef6db779a2ffdac6e2c4e27a042fc85af425:
title: 'gpu: host1x: mipi: Update tegra_mipi_request() to be node based'
mainline: 767598d447aa46411289c5808b0e45e20a1823b4
backport: a1d6e2d545ae60e3c0f14afc655960a12a1836ce
4003d399dd34bd9a80fcf78a3feb3140eb82b2b8:
title: 'drm/tegra: dsi: Make use of the helper function dev_err_probe()'
mainline: fc75e4fcbd1e4252a0481ebb23cd4516c127a8e2
backport: a7f31893877bed52efc884b8151f7bd211643115
0cb8749a621cdd291dc8976bbc245029124d402a:
title: 'drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe()'
mainline: 830c1ded356369cd1303e8bb87ce3fea6e744de8
backport: beef7ea1764bd7497ea4a76932b5b57bb6d1147d
d7e898d13a867014352f0daf98f8a0155c67a3c9:
title: 'drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe()'
mainline: 5286a9fc280c45b6b307ee1b07f7a997e042252c
backport: 8f0f744ebf00a199144bb821d0d1b186de6be782
c031022829a91114cb2bd531c38de99184957b6d:
title: 'drm/rockchip: inno_hdmi: Fix video timing'
mainline: 47a145c03484d33e65d773169d5ca1b9fe2a492e
backport: 9514fc65463c56256c0fbb075a6e414d2c440e9c
e3271a9f1432472bfd1aec82a5086d6b10e0dfec:
title: 'drm: Don''t treat 0 as -1 in drm_fixp2int_ceil'
mainline: cf8837d7204481026335461629b84ac7f4538fa5
backport: 36ac37d23799588aa1f243c55a9958bac40ce8be
2a1a4409d162a2a7e116ce87695ff6a7f8c7988c:
title: 'drm/rockchip: lvds: do not overwrite error code'
mainline: 79b09453c4e369ca81cfb670d0136d089e3b92f0
skipped: fixes patch not in branch
7775f620adbfcf3e65f32cb0f1bfa2c5f3786469:
title: 'drm/rockchip: lvds: do not print scary message when probing defer'
mainline: 52d11c863ac92e36a0365249f7f6d27ac48c78bc
skipped: fixes patch not in branch
17c2650de14842c25c569cbb2126c421489a3a24:
title: 'media: tc358743: register v4l2 async device only after successful setup'
mainline: 87399f1ff92203d65f1febf5919429f4bb613a02
backport: f37d112202ea81abf2af9a552cd3657f8b042342
35ad0b464f8c1d8414b9eb9ef8da070aa06bd693:
title: 'perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample()'
mainline: 4962aec0d684c8edb14574ccd0da53e4926ff834
skipped: fixes patch not in branch
def6f2347cc5534daffd513a5a33637fdfc8d1a6:
title: 'ABI: sysfs-bus-pci-devices-aer_stats uses an invalid tag'
mainline: abf313b5a8b72302062dd407ed7e470d67d389bb
skipped: missing commit 81aa5206f9a7c9793e2f7971400351664e40b04f
8b3c5d95bcc85f4333b6968ae7710ee2a1b28f0a:
title: 'media: em28xx: annotate unchecked call to media_device_register()'
mainline: fd61d77a3d28444b2635f0c8b5a2ecd6a4d94026
backport: e2bc2e2b68b321dfd3fb2c66691014a66ee074a6
0de691ff547d86dd54c24b40a81f9c925df8dd77:
title: 'media: v4l2-tpg: fix some memleaks in tpg_alloc'
mainline: 8cf9c5051076e0eb958f4361d50d8b0c3ee6691c
backport: fdec9e17f52ea90aa40441a258d62ad3f0d6707d
3dd8abb0ed0e0a7c66d6d677c86ccb188cc39333:
title: 'media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity'
mainline: 8f94b49a5b5d386c038e355bef6347298aabd211
skipped: fixes patch not in branch
cfa5ffc57e54fb8b864d23b6992cb37d706f6a87:
title: 'media: dvbdev: remove double-unlock'
mainline: 122d0e8dd050cc5dc3fb9e9b5f2dee3c5276ce35
backport: 08af260a5bc1b71c1278dccb64a7866ea0687ef3
6e4129f8163460c79bb99887bc6f791196fcbda2:
title: 'media: media/dvb: Use kmemdup rather than duplicating its implementation'
mainline: f6af820ef1be58c2e4b81aa479b9f109eb6344ce
backport: 88b9134f0e55fe9a7162ee90e5324e2fd91b0ad9
085f36c317cba8b8955c5da5f59c7486345d2bbb:
title: 'media: dvbdev: Fix memleak in dvb_register_device'
mainline: 167faadfcf9339088910e9e85a1b711fcbbef8e9
backport: 5ace531d9048d5957c275071f8e55d5b3261e03e
a30cf94eaf5dd3ffd8d13c3a8c303d04357b01c1:
title: 'media: dvbdev: fix error logic at dvb_register_device()'
mainline: 1fec2ecc252301110e4149e6183fa70460d29674
backport: 83a32ee58edae39a2e9bb7d71f36d0317ebf39d2
dc04ff778b4f8ff4560f1c42993417359e74d36a:
title: 'media: dvb-core: Fix use-after-free due to race at dvb_register_device()'
mainline: 627bb528b086b4136315c25d6a447a98ea9448d3
backport: 8f649cb42cc0154445a0319a3ec9e0f6f37737b5
d0f5c28333822f9baa5280d813124920720fd856:
title: 'media: edia: dvbdev: fix a use-after-free'
mainline: 8c64f4cdf4e6cc5682c52523713af8c39c94e6d5
backport: dec38a328d1cb93913450eab8c0b2b52ca6d96b7
5f0a066e0ece83eb4c72c6672539bcdbfeb39a4e:
title: 'clk: qcom: reset: Allow specifying custom reset delay'
mainline: 2cb8a39b6781ea23accd1fa93b3ad000d0948aec
backport: a9c53a71d5103df700ba1022bd793c2e7da2e4b3
38dd93f87da08876edf8df89a5992ce46da920ea:
title: 'clk: qcom: reset: support resetting multiple bits'
mainline: 4a5210893625f89723ea210d7c630b730abb37ad
backport: 7091467f8cf4ffb05762766872608822fba862a6
823c46950d9a96e94db8f565013f4f2f528c2bbe:
title: 'clk: qcom: reset: Commonize the de/assert functions'
mainline: eda40d9c583e95e0b6ac69d2950eec10f802e0e8
backport: fb58c616f8d5d230746a6e834a13daaf9616432d
d258d124f435adb3cac491e4b0274e75597f3a02:
title: 'clk: qcom: reset: Ensure write completion on reset de/assertion'
mainline: 2f8cf2c3f3e3f7ef61bd19abb4b0bb797ad50aaf
backport: 3acb0bf9b01663735e38d8647655c4c2dc81aa80
d9e4ab12b60a49204435102f8120c0d3e62583f1:
title: 'quota: code cleanup for __dquot_alloc_space()'
mainline: df15a2a59d0b29d86e17140b83ed231adaded12f
backport: 045db5c9471c0d3662193af5123c40c459442c29
1974c13019b97140149690cd622a9c6732c32124:
title: 'fs/quota: erase unused but set variable warning'
mainline: 78bc3334a69ff289dbc973a9db7c52a2d7757e5b
backport: 34b20f6e467fcd6dcd4352a429263beca0cc46fc
e87ed533e7a6167f4a5e1b0fdbf21784acf115cc:
title: 'quota: check time limit when back out space/inode change'
mainline: 632a9f3acd6687376cbb0b178df6048e19cbacc9
backport: 92b446b2b7dfe86c8955bf914789754b2d44ec81
248699a705f31211c0d7cc9e0d79cbbabbc9c791:
title: 'quota: simplify drop_dquot_ref()'
mainline: 7bce48f0fec602b3b6c335963b26d9eefa417788
backport: ba23e07d50c32bf3e5c651e29fe526f53652b28b
8514899c1a4edf802f03c408db901063aa3f05a1:
title: 'quota: Fix potential NULL pointer dereference'
mainline: d0aa72604fbd80c8aabb46eda00535ed35570f1f
backport: b2b5f36baf4785d586642aab144412e5961b7955
06172dff9a47e76dfce9b60d44ef21131b417803:
title: 'quota: Fix rcu annotations of inode dquot pointers'
mainline: 179b8c97ebf63429589f5afeba59a181fe70603e
backport: 9b7a96f32e377542671c0cc2c43a1ab5cfa84723
f9e92ad5eb0901cacac8f1cc4e5ea12514f7934b:
title: 'perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str()'
mainline: 1eb3d924e3c0b8c27388b0583a989d757866efb6
backport: d85a1e5fdc93c04aad783ac5134fe266a0a372b7
1c35795b90f4dce0605ace7eef9ae1bd1282ebf2:
title: 'drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode()'
mainline: c4891d979c7668b195a0a75787967ec95a24ecef
backport: 38f97031f0e5fad4f2a081d34cd1a1365cca5e05
9f9254f8927d9f4e4185ec18d8ee648dfcb5ed62:
title: 'ALSA: seq: fix function cast warnings'
mainline: d7bf73809849463f76de42aad62c850305dd6c5d
backport: 9075faa224b8911050442a04a83e7156df94f0b7
ff13e3ce6aa4c0dfdbc6438fe3c03118afe3ee8c:
title: 'media: go7007: add check of return value of go7007_read_addr()'
mainline: 0b70530ee740861f4776ff724fcc25023df1799a
backport: 0203c9b23b47d5e2f6d817b69d592ccc88d9a1f5
4e93392ae27eb5f8ad4efd31cf8f1ecd5fdabe15:
title: 'media: pvrusb2: fix pvr2_stream_callback casts'
mainline: 30baa4a96b23add91a87305baaeba82c4e109e1f
backport: ef1a77adc95fea554698fbbe7530b7e7da5ef4a6
1cb169229f8e6a29bd4ec4baf7a095a91ed6c729:
title: 'firmware: qcom: scm: Add WLAN VMID for Qualcomm SCM interface'
mainline: cc53aabcc283c36274d3f3ce9adc4b40c21d4838
skipped: commit did not cherry-pick cleanly
c7544fd16bf8656791548ab3b0845b6ed2411496:
title: 'clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times'
mainline: 117e7dc697c2739d754db8fe0c1e2d4f1f5d5f82
skipped: fixes patch not in branch
a5e660dba9ff73531053664e20dd858d880adbdb:
title: 'drm/mediatek: dsi: Fix DSI RGB666 formats and definitions'
mainline: fae6f815505301b92d9113764f4d76d0bfe45607
backport: bbb93685c7c6f27816955df2d599ca30a5ff2dbb
8443ceba0a8e5960e134ef26346266cb2d3a251d:
title: 'PCI: Mark 3ware-9650SE Root Port Extended Tags as broken'
mainline: baf67aefbe7d7deafa59ca49612d163f8889934c
backport: 8bfb9ffc388bc45abfcbf77b8b2c0715c4a950f6
907370aacf216e3a662d44e88d204413488444b3:
title: 'clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister()'
mainline: 74e39f526d95c0c119ada1874871ee328c59fbee
backport: 2c4e4f364fc917492491e7e801a11aa3d021eaba
d674e78da934afd2ce5935eff08cf5361a9a27ac:
title: 'drm/tegra: put drm_gem_object ref on error in tegra_fb_create'
mainline: 32e5a120a5105bce01561978ee55aee8e40ac0dc
backport: 964b1a6dfa9591962a88502cbce73e0d5a39f12c
5d16d3dc28a95915c1f7a41f68f2a069ced4b578:
title: 'mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref'
mainline: d2b0680cf3b05490b579e71b0df6e07451977745
backport: cc17862516e0adc1504c13f2bcf8e6e660af3912
bdb1db7115d9b2a9d10c101dfc67386485fad00d:
title: 'crypto: arm - Rename functions to avoid conflict with crypto/sha256.h'
mainline: e4dcc1be15268b6d34de3968f906577591521bd5
backport: 7fc8137190a1cebb8826d8ed71480d2653801e3f
8d27d1b155c26bae2bd76b0c3e78cc4f1f1e21c5:
title: 'crypto: arm/sha - fix function cast warnings'
mainline: 53cc9baeb9bc2a187eb9c9790d30995148852b12
backport: 0147d403e14fcf04d14e54c8db8c92e0b9e895c1
9fc05d7953b0d71372b632e1d62abf78c6ac9d64:
title: 'mtd: rawnand: lpc32xx_mlc: fix irq handler prototype'
mainline: 347b828882e6334690e7003ce5e2fe5f233dc508
backport: 1b84c12ebaccfd96af1d200d69bad289842962a9
e7221531b9f477f596c432846c57581d0312a02c:
title: 'ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs'
mainline: e3741a8d28a1137f8b19ae6f3d6e3be69a454a0a
skipped: fixes patch not in branch
5a2b18dbec88b972d570994483f188cb59586609:
title: 'drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int()'
mainline: 7cf1ad2fe10634238b38442a851d89514cb14ea2
backport: d7fb1c3d480ad75315a420879665772dd588cd44
ed8000e1e8e9684ab6c30cf2b526c0cea039929c:
title: 'media: pvrusb2: fix uaf in pvr2_context_set_notify'
mainline: 0a0b79ea55de8514e1750884e5fec77f9fdd01ee
backport: 6251ccc9fe18868635199a6e3dcd17ac5732060a
c073c8cede5abd3836e83d70d72606d11d0759d4:
title: 'media: dvb-frontends: avoid stack overflow warnings with clang'
mainline: 7a4cf27d1f0538f779bf31b8c99eda394e277119
backport: 810b8a9fe3e1bc6bc357b08882289aab5be3909e
7f11dd3d165b178e738fe73dfeea513e383bedb5:
title: 'media: go7007: fix a memleak in go7007_load_encoder'
mainline: b9b683844b01d171a72b9c0419a2d760d946ee12
backport: d692197c4290038026cd849e964cbc0963b8baf7
accdac6b71d5a2b84040c3d2234f53a60edc398e:
title: 'drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip'
mainline: c958e86e9cc1b48cac004a6e245154dfba8e163b
backport: f754e826a42f26ce110d8c22ac3efcd5b8f714a8
0a1754ba8d537e054b01f0c2dc6b653a5a1b685d:
title: 'powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks'
mainline: ad86d7ee43b22aa2ed60fb982ae94b285c1be671
backport: 1785997d8b483b47a511d6d61e2e8cc20095ec5d
131dffef3a81e9c6f4a9e278ffd66f3eb5ae8c3e:
title: 'powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc.'
mainline: 20933531be0577cdd782216858c26150dbc7936f
backport: 138ea96e89f7b2bccb7b3fee18b0a4430e6b2f5c
063b294747b47f7bdaad3953542e73552bf7fe65:
title: 'backlight: lm3630a: Initialize backlight_properties on init'
mainline: ad9aeb0e3aa90ebdad5fabf9c21783740eb95907
backport: e50c0ec386b601a2161ecf3ce4d8bb64dc0226bd
85360e411bd2239ef184178352fab6582a0fcb85:
title: 'backlight: lm3630a: Don''t set bl->props.brightness in get_brightness'
mainline: 4bf7ddd2d2f0f8826f25f74c7eba4e2c323a1446
backport: d0ca047e07a3357a1cfa5de925311b5496e1b233
ba9f50fa0edd4d45bc9840ba05efa9b526a30b53:
title: 'backlight: da9052: Fully initialize backlight_properties during probe'
mainline: 0285e9efaee8276305db5c52a59baf84e9731556
backport: 80b386048fb42668966e1afc0ae2c4d6e6dfd1fa
9d0aaf425cc5aec627ee7cae0990e6c5b7d2adb9:
title: 'backlight: lm3639: Fully initialize backlight_properties during probe'
mainline: abb5a5d951fbea3feb5c4ba179b89bb96a1d3462
backport: 2f286fb34ca716ba08e7f4cb0f020ce20cb9d219
3301f60ab7ebc14ec7242f1ad62dc151e11cd308:
title: 'backlight: lp8788: Fully initialize backlight_properties during probe'
mainline: 392346827fbe8a7fd573dfb145170d7949f639a6
backport: 3f2fe45a95a3f6a3cd5f7c17d8c53a41b1800d75
6bf3c3508c839c4457058686fbd59d9c55e5e598:
title: 'sparc32: Fix section mismatch in leon_pci_grpci'
mainline: 24338a6ae13cb743ced77da1b3a12c83f08a0c96
backport: 1455216df91812ea6d3e0fcf0ce4be142ba39cbc
7e2c1b0f6dd9abde9e60f0f9730026714468770f:
title: 'ALSA: usb-audio: Stop parsing channels bits when all channels are found.'
mainline: a39d51ff1f52cd0b6fe7d379ac93bd8b4237d1b7
backport: 684d0dfc0167a62bb2fc9c3c2d97e421a6f8f1d7
77d9c6364756ec8986b8d7f801bcb2295cfa036a:
title: 'scsi: csiostor: Avoid function pointer casts'
mainline: 9f3dbcb5632d6876226031d552ef6163bb3ad215
backport: ee504736ec7911bfb90382f7f3222faa7982dc0f
8413fc5ef952b5ddd606a42b2be1e15694e2f526:
title: 'scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn'
mainline: b69600231f751304db914c63b937f7098ed2895c
backport: 826d2a5f4af824bc5457e9ca919e6d0e0da677c5
867a6a6899a68323d6ef8995ea3765611d67ba1e:
title: 'net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr()'
mainline: d6f4de70f73a106986ee315d7d512539f2f3303a
backport: dd5627de25e1b9b306a735e52a9be0189c50681e
9bb320c5cea50e7fa82a477743a6a0546eaa37b3:
title: 'NFS: Fix an off by one in root_nfs_cat()'
mainline: 698ad1a538da0b6bf969cfee630b4e3a026afb87
backport: 43e88e13e5e89dabaa722dcbe424df93ff3fa50b
13c921e83ef2f8c2d7f6d79272e7760de605ca3c:
title: 'clk: qcom: gdsc: Add support to update GDSC transition delay'
mainline: 4e7c4d3652f96f41179aab3ff53025c7a550d689
backport: ac71f4414591935d0d42f189b92234f8475c8e26
e75ae3225cd1e1648c5140abf21d8c76b4b5e10a:
title: 'serial: max310x: fix syntax error in IRQ error message'
mainline: 8ede8c6f474255b2213cccd7997b993272a8e2f9
backport: 5f8e15a6c9782fe17177f6adbed2605e2626ec1a
6e839e4153c9881d79f94263fa352db35aa82b20:
title: 'tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT'
mainline: 314c2b399288f0058a8c5b6683292cbde5f1531b
backport: 2ba503c76ed0e3fb44574c56c207662044701968
d0687545f89d410b42ed84a8cb089bd670e0a5cf:
title: 'kconfig: fix infinite loop when expanding a macro at the end of file'
mainline: af8bbce92044dc58e4cc039ab94ee5d470a621f5
skipped: fixes patch not in branch
575fe3cc7fe2f80e9f45e1d36a4526ea43fbf280:
title: 'rtc: mt6397: select IRQ_DOMAIN instead of depending on it'
mainline: 544c42f798e1651dcb04fb0395219bf0f1c2607e
backport: 251fdf12a591f6f0393c9a074493372ee677d5ef
787e2620d1574196f10193a7c3693d95958254cb:
title: 'serial: 8250_exar: Don''t remove GPIO device on suspend'
mainline: 73b5a5c00be39e23b194bad10e1ea8bb73eee176
backport: 05809dc60c6107cc2d59fc9e5c6ab7880415cce8
40bbb7e4e83a53b5ae2c4b79c675618159571d83:
title: 'staging: greybus: fix get_channel_from_mode() failure path'
mainline: 34164202a5827f60a203ca9acaf2d9f7d432aac8
backport: 5bc6fb9dd8654ad945d2ab614de42276880ed458
4371549533b124e1693a7771303e44ed827af2e0:
title: 'usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin'
mainline: 600556809f04eb3bbccd05218215dcd7b285a9a9
backport: f950312d06f35a0dcf0d89eedd046d78ecaacb57
9706929ab421a6f68ed72fc0e6371e4fca8e698a:
title: 'net: hsr: fix placement of logical operator in a multi-line statement'
mainline: 059477830022e1886f55a9641702461c249fa864
backport: c412392d4e52ac3f871a4b94dcd97886f61f1c68
e3b2bfb8ff1810a537b2aa55ba906a6743ed120c:
title: 'hsr: Fix uninit-value access in hsr_get_node()'
mainline: ddbec99f58571301679addbc022256970ca3eac6
backport: f185d5434353871c54ffa351ed5647bc974a29f9
bec6c4ce1169a565c58c347d5d0ac22e46d507d6:
title: 'rds: introduce acquire/release ordering in acquire/release_in_xmit()'
mainline: 1422f28826d2a0c11e5240b3e951c9e214d8656e
backport: e2ef56dd89fdb684f70940c3a13aeacaa5551b2f
9a4e0ec0624c5b3e07fb042b307b98c3543de2f4:
title: 'hsr: Handle failures in module init'
mainline: 3cf28cd492308e5f63ed00b29ea03ca016264376
backport: b3f50f65706d8c16fc23b4c2d67622da15dbf2f2
7bcc090c81116c66936a7415f2c6b1483a4bcfd9:
title: 'net/bnx2x: Prevent access to a freed page in page_pool'
mainline: d27e2da94a42655861ca4baea30c8cd65546f25d
backport: ac6c533f13a4ec9071d6548a8be5467ab238c6aa
2342b05ec5342a519e00524a507f7a6ea6791a38:
title: 'spi: spi-mt65xx: Fix NULL pointer access in interrupt handler'
mainline: a20ad45008a7c82f1184dc6dee280096009ece55
backport: d49e4f3714a9208ee47e19da264ef74eab869b2e
546e3961b5d4c6db82cfb441fabb4353940c8f95:
title: 'crypto: af_alg - Fix regression on empty requests'
mainline: 662bb52f50bca16a74fe92b487a14d7dccb85e1a
backport: 2939b898498d9da54f5ea4c0b3d698a7644843fa
ba1f292491c011fa11d80b152f15ef97e4519891:
title: 'crypto: af_alg - Work around empty control messages without MSG_MORE'
mainline: c195d66a8a75c60515819b101975f38b7ec6577f
backport: 3f81c30ae458bf0f8cc2f421f3254ffa59dd95df

View File

@@ -405,7 +405,6 @@ prototypes:
int (*compat_ioctl) (struct block_device *, fmode_t, unsigned, unsigned long);
int (*direct_access) (struct block_device *, sector_t, void **,
unsigned long *);
int (*media_changed) (struct gendisk *);
void (*unlock_native_capacity) (struct gendisk *);
int (*revalidate_disk) (struct gendisk *);
int (*getgeo)(struct block_device *, struct hd_geometry *);
@@ -418,13 +417,12 @@ release: yes
ioctl: no
compat_ioctl: no
direct_access: no
media_changed: no
unlock_native_capacity: no
revalidate_disk: no
getgeo: no
swap_slot_free_notify: no (see below)
media_changed, unlock_native_capacity and revalidate_disk are called only from
unlock_native_capacity and revalidate_disk are called only from
check_disk_change().
swap_slot_free_notify is called with swap_lock and sometimes the page lock

View File

@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 14
SUBLEVEL = 341
SUBLEVEL = 343
EXTRAVERSION = -openela
NAME = Petit Gorille

View File

@@ -390,7 +390,7 @@
/* Direct-mapped development chip ROM */
pb1176_rom@10200000 {
compatible = "direct-mapped";
compatible = "mtd-rom";
reg = <0x10200000 0x4000>;
bank-width = <1>;
};

View File

@@ -30,8 +30,8 @@
#include "sha256_glue.h"
asmlinkage void sha256_block_data_order(u32 *digest, const void *data,
unsigned int num_blks);
asmlinkage void sha256_block_data_order(struct sha256_state *state,
const u8 *data, int num_blks);
int crypto_sha256_arm_update(struct shash_desc *desc, const u8 *data,
unsigned int len)
@@ -39,24 +39,21 @@ int crypto_sha256_arm_update(struct shash_desc *desc, const u8 *data,
/* make sure casting to sha256_block_fn() is safe */
BUILD_BUG_ON(offsetof(struct sha256_state, state) != 0);
return sha256_base_do_update(desc, data, len,
(sha256_block_fn *)sha256_block_data_order);
return sha256_base_do_update(desc, data, len, sha256_block_data_order);
}
EXPORT_SYMBOL(crypto_sha256_arm_update);
static int sha256_final(struct shash_desc *desc, u8 *out)
static int crypto_sha256_arm_final(struct shash_desc *desc, u8 *out)
{
sha256_base_do_finalize(desc,
(sha256_block_fn *)sha256_block_data_order);
sha256_base_do_finalize(desc, sha256_block_data_order);
return sha256_base_finish(desc, out);
}
int crypto_sha256_arm_finup(struct shash_desc *desc, const u8 *data,
unsigned int len, u8 *out)
{
sha256_base_do_update(desc, data, len,
(sha256_block_fn *)sha256_block_data_order);
return sha256_final(desc, out);
sha256_base_do_update(desc, data, len, sha256_block_data_order);
return crypto_sha256_arm_final(desc, out);
}
EXPORT_SYMBOL(crypto_sha256_arm_finup);
@@ -64,7 +61,7 @@ static struct shash_alg algs[] = { {
.digestsize = SHA256_DIGEST_SIZE,
.init = sha256_base_init,
.update = crypto_sha256_arm_update,
.final = sha256_final,
.final = crypto_sha256_arm_final,
.finup = crypto_sha256_arm_finup,
.descsize = sizeof(struct sha256_state),
.base = {
@@ -79,7 +76,7 @@ static struct shash_alg algs[] = { {
.digestsize = SHA224_DIGEST_SIZE,
.init = sha224_base_init,
.update = crypto_sha256_arm_update,
.final = sha256_final,
.final = crypto_sha256_arm_final,
.finup = crypto_sha256_arm_finup,
.descsize = sizeof(struct sha256_state),
.base = {

View File

@@ -29,8 +29,8 @@
asmlinkage void sha256_block_data_order_neon(u32 *digest, const void *data,
unsigned int num_blks);
static int sha256_update(struct shash_desc *desc, const u8 *data,
unsigned int len)
static int crypto_sha256_neon_update(struct shash_desc *desc, const u8 *data,
unsigned int len)
{
struct sha256_state *sctx = shash_desc_ctx(desc);
@@ -46,8 +46,8 @@ static int sha256_update(struct shash_desc *desc, const u8 *data,
return 0;
}
static int sha256_finup(struct shash_desc *desc, const u8 *data,
unsigned int len, u8 *out)
static int crypto_sha256_neon_finup(struct shash_desc *desc, const u8 *data,
unsigned int len, u8 *out)
{
if (!may_use_simd())
return crypto_sha256_arm_finup(desc, data, len, out);
@@ -63,17 +63,17 @@ static int sha256_finup(struct shash_desc *desc, const u8 *data,
return sha256_base_finish(desc, out);
}
static int sha256_final(struct shash_desc *desc, u8 *out)
static int crypto_sha256_neon_final(struct shash_desc *desc, u8 *out)
{
return sha256_finup(desc, NULL, 0, out);
return crypto_sha256_neon_finup(desc, NULL, 0, out);
}
struct shash_alg sha256_neon_algs[] = { {
.digestsize = SHA256_DIGEST_SIZE,
.init = sha256_base_init,
.update = sha256_update,
.final = sha256_final,
.finup = sha256_finup,
.update = crypto_sha256_neon_update,
.final = crypto_sha256_neon_final,
.finup = crypto_sha256_neon_finup,
.descsize = sizeof(struct sha256_state),
.base = {
.cra_name = "sha256",
@@ -86,9 +86,9 @@ struct shash_alg sha256_neon_algs[] = { {
}, {
.digestsize = SHA224_DIGEST_SIZE,
.init = sha224_base_init,
.update = sha256_update,
.final = sha256_final,
.finup = sha256_finup,
.update = crypto_sha256_neon_update,
.final = crypto_sha256_neon_final,
.finup = crypto_sha256_neon_finup,
.descsize = sizeof(struct sha256_state),
.base = {
.cra_name = "sha224",

View File

@@ -28,27 +28,25 @@ MODULE_ALIAS_CRYPTO("sha512");
MODULE_ALIAS_CRYPTO("sha384-arm");
MODULE_ALIAS_CRYPTO("sha512-arm");
asmlinkage void sha512_block_data_order(u64 *state, u8 const *src, int blocks);
asmlinkage void sha512_block_data_order(struct sha512_state *state,
u8 const *src, int blocks);
int sha512_arm_update(struct shash_desc *desc, const u8 *data,
unsigned int len)
{
return sha512_base_do_update(desc, data, len,
(sha512_block_fn *)sha512_block_data_order);
return sha512_base_do_update(desc, data, len, sha512_block_data_order);
}
int sha512_arm_final(struct shash_desc *desc, u8 *out)
{
sha512_base_do_finalize(desc,
(sha512_block_fn *)sha512_block_data_order);
sha512_base_do_finalize(desc, sha512_block_data_order);
return sha512_base_finish(desc, out);
}
int sha512_arm_finup(struct shash_desc *desc, const u8 *data,
unsigned int len, u8 *out)
{
sha512_base_do_update(desc, data, len,
(sha512_block_fn *)sha512_block_data_order);
sha512_base_do_update(desc, data, len, sha512_block_data_order);
return sha512_arm_final(desc, out);
}

View File

@@ -65,6 +65,7 @@ static inline void instruction_pointer_set(struct pt_regs *regs,
unsigned long val)
{
regs->cp0_epc = val;
regs->cp0_cause &= ~CAUSEF_BD;
}
/* Query offset/name of register from its name/offset */

View File

@@ -157,6 +157,20 @@ static unsigned long single_gpci_request(u32 req, u32 starting_index,
ret = plpar_hcall_norets(H_GET_PERF_COUNTER_INFO,
virt_to_phys(arg), HGPCI_REQ_BUFFER_SIZE);
/*
* ret value as 'H_PARAMETER' with detail_rc as 'GEN_BUF_TOO_SMALL',
* specifies that the current buffer size cannot accommodate
* all the information and a partial buffer returned.
* Since in this function we are only accessing data for a given starting index,
* we don't need to accommodate whole data and can get required count by
* accessing first entry data.
* Hence hcall fails only incase the ret value is other than H_SUCCESS or
* H_PARAMETER with detail_rc value as GEN_BUF_TOO_SMALL(0x1B).
*/
if (ret == H_PARAMETER && be32_to_cpu(arg->params.detail_rc) == 0x1B)
ret = 0;
if (ret) {
pr_devel("hcall failed: 0x%lx\n", ret);
goto out;
@@ -221,6 +235,7 @@ static int h_gpci_event_init(struct perf_event *event)
{
u64 count;
u8 length;
unsigned long ret;
/* Not our event */
if (event->attr.type != event->pmu->type)
@@ -260,13 +275,23 @@ static int h_gpci_event_init(struct perf_event *event)
}
/* check if the request works... */
if (single_gpci_request(event_get_request(event),
ret = single_gpci_request(event_get_request(event),
event_get_starting_index(event),
event_get_secondary_index(event),
event_get_counter_info_version(event),
event_get_offset(event),
length,
&count)) {
&count);
/*
* ret value as H_AUTHORITY implies that partition is not permitted to retrieve
* performance information, and required to set
* "Enable Performance Information Collection" option.
*/
if (ret == H_AUTHORITY)
return -EPERM;
if (ret) {
pr_devel("gpci hcall failed\n");
return -EINVAL;
}

View File

@@ -97,9 +97,6 @@ static void __init linkstation_init_IRQ(void)
mpic_init(mpic);
}
extern void avr_uart_configure(void);
extern void avr_uart_send(const char);
static void __noreturn linkstation_restart(char *cmd)
{
local_irq_disable();

View File

@@ -156,4 +156,7 @@ int mpc10x_disable_store_gathering(struct pci_controller *hose);
/* For MPC107 boards that use the built-in openpic */
void mpc10x_set_openpic(void);
void avr_uart_configure(void);
void avr_uart_send(const char c);
#endif /* __PPC_KERNEL_MPC10X_H */

View File

@@ -696,7 +696,7 @@ err1:
return err;
}
static const struct of_device_id grpci1_of_match[] __initconst = {
static const struct of_device_id grpci1_of_match[] = {
{
.name = "GAISLER_PCIFBRG",
},

View File

@@ -887,7 +887,7 @@ err1:
return err;
}
static const struct of_device_id grpci2_of_match[] __initconst = {
static const struct of_device_id grpci2_of_match[] = {
{
.name = "GAISLER_GRPCI2",
},

View File

@@ -25,6 +25,19 @@ config LD_SCRIPT_DYN
source "fs/Kconfig.binfmt"
config LD_SCRIPT_DYN_RPATH
bool "set rpath in the binary" if EXPERT
default y
depends on LD_SCRIPT_DYN
help
Add /lib (and /lib64 for 64-bit) to the linux binary's rpath
explicitly.
You may need to turn this off if compiling for nix systems
that have their libraries in random /nix directories and
might otherwise unexpected use libraries from /lib or /lib64
instead of the desired ones.
config HOSTFS
tristate "Host filesystem"
help

View File

@@ -121,7 +121,8 @@ archheaders:
archprepare: include/generated/user_constants.h
LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static
LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib $(call cc-option, -no-pie)
LINK-$(CONFIG_LD_SCRIPT_DYN) += $(call cc-option, -no-pie)
LINK-$(CONFIG_LD_SCRIPT_DYN_RPATH) += -Wl,-rpath,/lib
CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,) \
$(call cc-option, -fno-stack-protector,) \

View File

@@ -53,7 +53,7 @@ ELF_FORMAT := elf64-x86-64
# Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.
LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
LINK-$(CONFIG_LD_SCRIPT_DYN_RPATH) += -Wl,-rpath,/lib64
LINK-y += -m64
# Do unit-at-a-time unconditionally on x86_64, following the host

View File

@@ -579,6 +579,14 @@ static void print_absolute_relocs(void)
if (!(sec_applies->shdr.sh_flags & SHF_ALLOC)) {
continue;
}
/*
* Do not perform relocations in .notes section; 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++) {

View File

@@ -32,30 +32,30 @@ static irqreturn_t xen_reschedule_interrupt(int irq, void *dev_id)
void xen_smp_intr_free(unsigned int cpu)
{
kfree(per_cpu(xen_resched_irq, cpu).name);
per_cpu(xen_resched_irq, cpu).name = NULL;
if (per_cpu(xen_resched_irq, cpu).irq >= 0) {
unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu).irq, NULL);
per_cpu(xen_resched_irq, cpu).irq = -1;
kfree(per_cpu(xen_resched_irq, cpu).name);
per_cpu(xen_resched_irq, cpu).name = NULL;
}
kfree(per_cpu(xen_callfunc_irq, cpu).name);
per_cpu(xen_callfunc_irq, cpu).name = NULL;
if (per_cpu(xen_callfunc_irq, cpu).irq >= 0) {
unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu).irq, NULL);
per_cpu(xen_callfunc_irq, cpu).irq = -1;
kfree(per_cpu(xen_callfunc_irq, cpu).name);
per_cpu(xen_callfunc_irq, cpu).name = NULL;
}
kfree(per_cpu(xen_debug_irq, cpu).name);
per_cpu(xen_debug_irq, cpu).name = NULL;
if (per_cpu(xen_debug_irq, cpu).irq >= 0) {
unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu).irq, NULL);
per_cpu(xen_debug_irq, cpu).irq = -1;
kfree(per_cpu(xen_debug_irq, cpu).name);
per_cpu(xen_debug_irq, cpu).name = NULL;
}
kfree(per_cpu(xen_callfuncsingle_irq, cpu).name);
per_cpu(xen_callfuncsingle_irq, cpu).name = NULL;
if (per_cpu(xen_callfuncsingle_irq, cpu).irq >= 0) {
unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu).irq,
NULL);
per_cpu(xen_callfuncsingle_irq, cpu).irq = -1;
kfree(per_cpu(xen_callfuncsingle_irq, cpu).name);
per_cpu(xen_callfuncsingle_irq, cpu).name = NULL;
}
}
@@ -65,6 +65,9 @@ int xen_smp_intr_init(unsigned int cpu)
char *resched_name, *callfunc_name, *debug_name;
resched_name = kasprintf(GFP_KERNEL, "resched%d", cpu);
if (!resched_name)
goto fail_mem;
per_cpu(xen_resched_irq, cpu).name = resched_name;
rc = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR,
cpu,
xen_reschedule_interrupt,
@@ -74,9 +77,11 @@ int xen_smp_intr_init(unsigned int cpu)
if (rc < 0)
goto fail;
per_cpu(xen_resched_irq, cpu).irq = rc;
per_cpu(xen_resched_irq, cpu).name = resched_name;
callfunc_name = kasprintf(GFP_KERNEL, "callfunc%d", cpu);
if (!callfunc_name)
goto fail_mem;
per_cpu(xen_callfunc_irq, cpu).name = callfunc_name;
rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_VECTOR,
cpu,
xen_call_function_interrupt,
@@ -86,18 +91,27 @@ int xen_smp_intr_init(unsigned int cpu)
if (rc < 0)
goto fail;
per_cpu(xen_callfunc_irq, cpu).irq = rc;
per_cpu(xen_callfunc_irq, cpu).name = callfunc_name;
debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu);
rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, xen_debug_interrupt,
IRQF_PERCPU | IRQF_NOBALANCING,
debug_name, NULL);
if (rc < 0)
goto fail;
per_cpu(xen_debug_irq, cpu).irq = rc;
per_cpu(xen_debug_irq, cpu).name = debug_name;
if (!xen_fifo_events) {
debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu);
if (!debug_name)
goto fail_mem;
per_cpu(xen_debug_irq, cpu).name = debug_name;
rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu,
xen_debug_interrupt,
IRQF_PERCPU | IRQF_NOBALANCING,
debug_name, NULL);
if (rc < 0)
goto fail;
per_cpu(xen_debug_irq, cpu).irq = rc;
}
callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu);
if (!callfunc_name)
goto fail_mem;
per_cpu(xen_callfuncsingle_irq, cpu).name = callfunc_name;
rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR,
cpu,
xen_call_function_single_interrupt,
@@ -107,10 +121,11 @@ int xen_smp_intr_init(unsigned int cpu)
if (rc < 0)
goto fail;
per_cpu(xen_callfuncsingle_irq, cpu).irq = rc;
per_cpu(xen_callfuncsingle_irq, cpu).name = callfunc_name;
return 0;
fail_mem:
rc = -ENOMEM;
fail:
xen_smp_intr_free(cpu);
return rc;

View File

@@ -96,18 +96,18 @@ asmlinkage __visible void cpu_bringup_and_idle(void)
void xen_smp_intr_free_pv(unsigned int cpu)
{
kfree(per_cpu(xen_irq_work, cpu).name);
per_cpu(xen_irq_work, cpu).name = NULL;
if (per_cpu(xen_irq_work, cpu).irq >= 0) {
unbind_from_irqhandler(per_cpu(xen_irq_work, cpu).irq, NULL);
per_cpu(xen_irq_work, cpu).irq = -1;
kfree(per_cpu(xen_irq_work, cpu).name);
per_cpu(xen_irq_work, cpu).name = NULL;
}
kfree(per_cpu(xen_pmu_irq, cpu).name);
per_cpu(xen_pmu_irq, cpu).name = NULL;
if (per_cpu(xen_pmu_irq, cpu).irq >= 0) {
unbind_from_irqhandler(per_cpu(xen_pmu_irq, cpu).irq, NULL);
per_cpu(xen_pmu_irq, cpu).irq = -1;
kfree(per_cpu(xen_pmu_irq, cpu).name);
per_cpu(xen_pmu_irq, cpu).name = NULL;
}
}
@@ -117,6 +117,7 @@ int xen_smp_intr_init_pv(unsigned int cpu)
char *callfunc_name, *pmu_name;
callfunc_name = kasprintf(GFP_KERNEL, "irqwork%d", cpu);
per_cpu(xen_irq_work, cpu).name = callfunc_name;
rc = bind_ipi_to_irqhandler(XEN_IRQ_WORK_VECTOR,
cpu,
xen_irq_work_interrupt,
@@ -126,10 +127,10 @@ int xen_smp_intr_init_pv(unsigned int cpu)
if (rc < 0)
goto fail;
per_cpu(xen_irq_work, cpu).irq = rc;
per_cpu(xen_irq_work, cpu).name = callfunc_name;
if (is_xen_pmu) {
pmu_name = kasprintf(GFP_KERNEL, "pmu%d", cpu);
per_cpu(xen_pmu_irq, cpu).name = pmu_name;
rc = bind_virq_to_irqhandler(VIRQ_XENPMU, cpu,
xen_pmu_irq_handler,
IRQF_PERCPU|IRQF_NOBALANCING,
@@ -137,7 +138,6 @@ int xen_smp_intr_init_pv(unsigned int cpu)
if (rc < 0)
goto fail;
per_cpu(xen_pmu_irq, cpu).irq = rc;
per_cpu(xen_pmu_irq, cpu).name = pmu_name;
}
return 0;

View File

@@ -30,6 +30,8 @@ extern struct start_info *xen_start_info;
extern struct shared_info xen_dummy_shared_info;
extern struct shared_info *HYPERVISOR_shared_info;
extern bool xen_fifo_events;
void xen_setup_mfn_list_list(void);
void xen_setup_shared_info(void);
void xen_build_mfn_list_list(void);

View File

@@ -1701,18 +1701,12 @@ void disk_flush_events(struct gendisk *disk, unsigned int mask)
*/
unsigned int disk_clear_events(struct gendisk *disk, unsigned int mask)
{
const struct block_device_operations *bdops = disk->fops;
struct disk_events *ev = disk->ev;
unsigned int pending;
unsigned int clearing = mask;
if (!ev) {
/* for drivers still using the old ->media_changed method */
if ((mask & DISK_EVENT_MEDIA_CHANGE) &&
bdops->media_changed && bdops->media_changed(disk))
return DISK_EVENT_MEDIA_CHANGE;
if (!ev)
return 0;
}
disk_block_events(disk);

View File

@@ -444,6 +444,11 @@ static int blkdev_roset(struct block_device *bdev, fmode_t mode,
return -EACCES;
if (get_user(n, (int __user *)arg))
return -EFAULT;
if (bdev->bd_disk->fops->set_read_only) {
ret = bdev->bd_disk->fops->set_read_only(bdev, n);
if (ret)
return ret;
}
set_device_ro(bdev, n);
return 0;
}

View File

@@ -73,6 +73,7 @@ enum opal_response_token {
#define SHORT_ATOM_BYTE 0xBF
#define MEDIUM_ATOM_BYTE 0xDF
#define LONG_ATOM_BYTE 0xE3
#define EMPTY_ATOM_BYTE 0xFF
#define OPAL_INVAL_PARAM 12
#define OPAL_MANUFACTURED_INACTIVE 0x08

View File

@@ -844,16 +844,20 @@ static int response_parse(const u8 *buf, size_t length,
token_length = response_parse_medium(iter, pos);
else if (pos[0] <= LONG_ATOM_BYTE) /* long atom */
token_length = response_parse_long(iter, pos);
else if (pos[0] == EMPTY_ATOM_BYTE) /* empty atom */
token_length = 1;
else /* TOKEN */
token_length = response_parse_token(iter, pos);
if (token_length < 0)
return token_length;
if (pos[0] != EMPTY_ATOM_BYTE)
num_entries++;
pos += token_length;
total -= token_length;
iter++;
num_entries++;
}
if (num_entries == 0) {

View File

@@ -21,6 +21,7 @@
#include <linux/module.h>
#include <linux/net.h>
#include <linux/rwsem.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/security.h>
@@ -430,12 +431,12 @@ int af_alg_make_sg(struct af_alg_sgl *sgl, struct iov_iter *iter, int len)
}
EXPORT_SYMBOL_GPL(af_alg_make_sg);
void af_alg_link_sg(struct af_alg_sgl *sgl_prev, struct af_alg_sgl *sgl_new)
static void af_alg_link_sg(struct af_alg_sgl *sgl_prev,
struct af_alg_sgl *sgl_new)
{
sg_unmark_end(sgl_prev->sg + sgl_prev->npages - 1);
sg_chain(sgl_prev->sg, sgl_prev->npages + 1, sgl_new->sg);
}
EXPORT_SYMBOL_GPL(af_alg_link_sg);
void af_alg_free_sg(struct af_alg_sgl *sgl)
{
@@ -446,7 +447,7 @@ void af_alg_free_sg(struct af_alg_sgl *sgl)
}
EXPORT_SYMBOL_GPL(af_alg_free_sg);
int af_alg_cmsg_send(struct msghdr *msg, struct af_alg_control *con)
static int af_alg_cmsg_send(struct msghdr *msg, struct af_alg_control *con)
{
struct cmsghdr *cmsg;
@@ -485,7 +486,6 @@ int af_alg_cmsg_send(struct msghdr *msg, struct af_alg_control *con)
return 0;
}
EXPORT_SYMBOL_GPL(af_alg_cmsg_send);
int af_alg_wait_for_completion(int err, struct af_alg_completion *completion)
{
@@ -520,7 +520,7 @@ EXPORT_SYMBOL_GPL(af_alg_complete);
* @sk socket of connection to user space
* @return: 0 upon success, < 0 upon error
*/
int af_alg_alloc_tsgl(struct sock *sk)
static int af_alg_alloc_tsgl(struct sock *sk)
{
struct alg_sock *ask = alg_sk(sk);
struct af_alg_ctx *ctx = ask->private;
@@ -549,7 +549,6 @@ int af_alg_alloc_tsgl(struct sock *sk)
return 0;
}
EXPORT_SYMBOL_GPL(af_alg_alloc_tsgl);
/**
* aead_count_tsgl - Count number of TX SG entries
@@ -678,6 +677,7 @@ void af_alg_pull_tsgl(struct sock *sk, size_t used, struct scatterlist *dst,
if (!ctx->used)
ctx->merge = 0;
ctx->init = ctx->more;
}
EXPORT_SYMBOL_GPL(af_alg_pull_tsgl);
@@ -686,7 +686,7 @@ EXPORT_SYMBOL_GPL(af_alg_pull_tsgl);
*
* @areq Request holding the TX and RX SGL
*/
void af_alg_free_areq_sgls(struct af_alg_async_req *areq)
static void af_alg_free_areq_sgls(struct af_alg_async_req *areq)
{
struct sock *sk = areq->sk;
struct alg_sock *ask = alg_sk(sk);
@@ -715,7 +715,6 @@ void af_alg_free_areq_sgls(struct af_alg_async_req *areq)
sock_kfree_s(sk, tsgl, areq->tsgl_entries * sizeof(*tsgl));
}
}
EXPORT_SYMBOL_GPL(af_alg_free_areq_sgls);
/**
* af_alg_wait_for_wmem - wait for availability of writable memory
@@ -724,7 +723,7 @@ EXPORT_SYMBOL_GPL(af_alg_free_areq_sgls);
* @flags If MSG_DONTWAIT is set, then only report if function would sleep
* @return 0 when writable memory is available, < 0 upon error
*/
int af_alg_wait_for_wmem(struct sock *sk, unsigned int flags)
static int af_alg_wait_for_wmem(struct sock *sk, unsigned int flags)
{
DEFINE_WAIT_FUNC(wait, woken_wake_function);
int err = -ERESTARTSYS;
@@ -749,7 +748,6 @@ int af_alg_wait_for_wmem(struct sock *sk, unsigned int flags)
return err;
}
EXPORT_SYMBOL_GPL(af_alg_wait_for_wmem);
/**
* af_alg_wmem_wakeup - wakeup caller when writable memory is available
@@ -779,9 +777,10 @@ EXPORT_SYMBOL_GPL(af_alg_wmem_wakeup);
*
* @sk socket of connection to user space
* @flags If MSG_DONTWAIT is set, then only report if function would sleep
* @min Set to minimum request size if partial requests are allowed.
* @return 0 when writable memory is available, < 0 upon error
*/
int af_alg_wait_for_data(struct sock *sk, unsigned flags)
int af_alg_wait_for_data(struct sock *sk, unsigned flags, unsigned min)
{
DEFINE_WAIT_FUNC(wait, woken_wake_function);
struct alg_sock *ask = alg_sk(sk);
@@ -799,7 +798,9 @@ int af_alg_wait_for_data(struct sock *sk, unsigned flags)
if (signal_pending(current))
break;
timeout = MAX_SCHEDULE_TIMEOUT;
if (sk_wait_event(sk, &timeout, (ctx->used || !ctx->more),
if (sk_wait_event(sk, &timeout,
ctx->init && (!ctx->more ||
(min && ctx->used >= min)),
&wait)) {
err = 0;
break;
@@ -818,8 +819,7 @@ EXPORT_SYMBOL_GPL(af_alg_wait_for_data);
*
* @sk socket of connection to user space
*/
void af_alg_data_wakeup(struct sock *sk)
static void af_alg_data_wakeup(struct sock *sk)
{
struct alg_sock *ask = alg_sk(sk);
struct af_alg_ctx *ctx = ask->private;
@@ -837,7 +837,6 @@ void af_alg_data_wakeup(struct sock *sk)
sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT);
rcu_read_unlock();
}
EXPORT_SYMBOL_GPL(af_alg_data_wakeup);
/**
* af_alg_sendmsg - implementation of sendmsg system call handler
@@ -890,10 +889,17 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
}
lock_sock(sk);
if (!ctx->more && ctx->used) {
err = -EINVAL;
goto unlock;
if (ctx->init && !ctx->more) {
if (ctx->used) {
err = -EINVAL;
goto unlock;
}
pr_info_once(
"%s sent an empty control message without MSG_MORE.\n",
current->comm);
}
ctx->init = true;
if (init) {
ctx->enc = enc;

View File

@@ -111,8 +111,8 @@ static int _aead_recvmsg(struct socket *sock, struct msghdr *msg,
size_t usedpages = 0; /* [in] RX bufs to be used from user */
size_t processed = 0; /* [in] TX bufs to be consumed */
if (!ctx->used) {
err = af_alg_wait_for_data(sk, flags);
if (!ctx->init || ctx->more) {
err = af_alg_wait_for_data(sk, flags, 0);
if (err)
return err;
}

View File

@@ -72,8 +72,8 @@ static int _skcipher_recvmsg(struct socket *sock, struct msghdr *msg,
int err = 0;
size_t len = 0;
if (!ctx->used) {
err = af_alg_wait_for_data(sk, flags);
if (!ctx->init || (ctx->more && ctx->used < bs)) {
err = af_alg_wait_for_data(sk, flags, bs);
if (err)
return err;
}

View File

@@ -1526,6 +1526,8 @@ int acpi_processor_power_exit(struct acpi_processor *pr)
acpi_processor_registered--;
if (acpi_processor_registered == 0)
cpuidle_unregister_driver(&acpi_idle_driver);
kfree(dev);
}
pr->flags.power_setup_done = 0;

View File

@@ -320,18 +320,14 @@ static int acpi_scan_device_check(struct acpi_device *adev)
* again).
*/
if (adev->handler) {
dev_warn(&adev->dev, "Already enumerated\n");
return -EALREADY;
dev_dbg(&adev->dev, "Already enumerated\n");
return 0;
}
error = acpi_bus_scan(adev->handle);
if (error) {
dev_warn(&adev->dev, "Namespace scan failure\n");
return error;
}
if (!adev->handler) {
dev_warn(&adev->dev, "Enumeration failure\n");
error = -ENODEV;
}
} else {
error = acpi_scan_device_not_present(adev);
}

View File

@@ -421,13 +421,16 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff_head *qu
rcu_read_lock();
for_each_netdev_rcu(&init_net, ifp) {
dev_hold(ifp);
if (!is_aoe_netif(ifp))
goto cont;
if (!is_aoe_netif(ifp)) {
dev_put(ifp);
continue;
}
skb = new_skb(sizeof *h + sizeof *ch);
if (skb == NULL) {
printk(KERN_INFO "aoe: skb alloc failure\n");
goto cont;
dev_put(ifp);
continue;
}
skb_put(skb, sizeof *h + sizeof *ch);
skb->dev = ifp;
@@ -442,9 +445,6 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff_head *qu
h->major = cpu_to_be16(aoemajor);
h->minor = aoeminor;
h->cmd = AOECMD_CFG;
cont:
dev_put(ifp);
}
rcu_read_unlock();
}

View File

@@ -64,6 +64,7 @@ tx(int id) __must_hold(&txlock)
pr_warn("aoe: packet could not be sent on %s. %s\n",
ifp ? ifp->name : "netif",
"consider increasing tx_queue_len");
dev_put(ifp);
spin_lock_irq(&txlock);
}
return 0;

View File

@@ -144,12 +144,13 @@ config SUNXI_RSB
config TEGRA_ACONNECT
tristate "Tegra ACONNECT Bus Driver"
depends on ARCH_TEGRA_210_SOC
depends on ARCH_TEGRA
depends on OF && PM
select PM_CLK
help
Driver for the Tegra ACONNECT bus which is used to interface with
the devices inside the Audio Processing Engine (APE) for Tegra210.
the devices inside the Audio Processing Engine (APE) for
Tegra210 and later.
config TEGRA_GMI
tristate "Tegra Generic Memory Interface bus driver"

View File

@@ -142,7 +142,7 @@ static void hi3519_clk_unregister(struct platform_device *pdev)
of_clk_del_provider(pdev->dev.of_node);
hisi_clk_unregister_gate(hi3519_gate_clks,
ARRAY_SIZE(hi3519_mux_clks),
ARRAY_SIZE(hi3519_gate_clks),
crg->clk_data);
hisi_clk_unregister_mux(hi3519_mux_clks,
ARRAY_SIZE(hi3519_mux_clks),

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, The Linux Foundation. All rights reserved.
* Copyright (c) 2015, 2017-2018, 2022, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -33,9 +33,14 @@
#define GMEM_CLAMP_IO_MASK BIT(0)
/* Wait 2^n CXO cycles between all states. Here, n=2 (4 cycles). */
#define EN_REST_WAIT_VAL (0x2 << 20)
#define EN_FEW_WAIT_VAL (0x8 << 16)
#define CLK_DIS_WAIT_VAL (0x2 << 12)
#define EN_REST_WAIT_VAL 0x2
#define EN_FEW_WAIT_VAL 0x8
#define CLK_DIS_WAIT_VAL 0x2
/* Transition delay shifts */
#define EN_REST_WAIT_SHIFT 20
#define EN_FEW_WAIT_SHIFT 16
#define CLK_DIS_WAIT_SHIFT 12
#define RETAIN_MEM BIT(14)
#define RETAIN_PERIPH BIT(13)
@@ -267,7 +272,18 @@ static int gdsc_init(struct gdsc *sc)
*/
mask = HW_CONTROL_MASK | SW_OVERRIDE_MASK |
EN_REST_WAIT_MASK | EN_FEW_WAIT_MASK | CLK_DIS_WAIT_MASK;
val = EN_REST_WAIT_VAL | EN_FEW_WAIT_VAL | CLK_DIS_WAIT_VAL;
if (!sc->en_rest_wait_val)
sc->en_rest_wait_val = EN_REST_WAIT_VAL;
if (!sc->en_few_wait_val)
sc->en_few_wait_val = EN_FEW_WAIT_VAL;
if (!sc->clk_dis_wait_val)
sc->clk_dis_wait_val = CLK_DIS_WAIT_VAL;
val = sc->en_rest_wait_val << EN_REST_WAIT_SHIFT |
sc->en_few_wait_val << EN_FEW_WAIT_SHIFT |
sc->clk_dis_wait_val << CLK_DIS_WAIT_SHIFT;
ret = regmap_update_bits(sc->regmap, sc->gdscr, mask, val);
if (ret)
return ret;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, The Linux Foundation. All rights reserved.
* Copyright (c) 2015, 2017-2018, 2022, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -29,6 +29,9 @@ struct reset_controller_dev;
* @cxcs: offsets of branch registers to toggle mem/periph bits in
* @cxc_count: number of @cxcs
* @pwrsts: Possible powerdomain power states
* @en_rest_wait_val: transition delay value for receiving enr ack signal
* @en_few_wait_val: transition delay value for receiving enf ack signal
* @clk_dis_wait_val: transition delay value for halting clock
* @resets: ids of resets associated with this gdsc
* @reset_count: number of @resets
* @rcdev: reset controller
@@ -42,6 +45,9 @@ struct gdsc {
unsigned int clamp_io_ctrl;
unsigned int *cxcs;
unsigned int cxc_count;
unsigned int en_rest_wait_val;
unsigned int en_few_wait_val;
unsigned int clk_dis_wait_val;
const u8 pwrsts;
/* Powerdomain allowable state bitfields */
#define PWRSTS_OFF BIT(0)

View File

@@ -21,14 +21,16 @@
static int qcom_reset(struct reset_controller_dev *rcdev, unsigned long id)
{
struct qcom_reset_controller *rst = to_qcom_reset_controller(rcdev);
rcdev->ops->assert(rcdev, id);
udelay(1);
udelay(rst->reset_map[id].udelay ?: 1); /* use 1 us as default */
rcdev->ops->deassert(rcdev, id);
return 0;
}
static int
qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id)
static int qcom_reset_set_assert(struct reset_controller_dev *rcdev,
unsigned long id, bool assert)
{
struct qcom_reset_controller *rst;
const struct qcom_reset_map *map;
@@ -36,23 +38,24 @@ qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id)
rst = to_qcom_reset_controller(rcdev);
map = &rst->reset_map[id];
mask = BIT(map->bit);
mask = map->bitmask ? map->bitmask : BIT(map->bit);
return regmap_update_bits(rst->regmap, map->reg, mask, mask);
regmap_update_bits(rst->regmap, map->reg, mask, assert ? mask : 0);
/* Read back the register to ensure write completion, ignore the value */
regmap_read(rst->regmap, map->reg, &mask);
return 0;
}
static int
qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id)
static int qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id)
{
struct qcom_reset_controller *rst;
const struct qcom_reset_map *map;
u32 mask;
return qcom_reset_set_assert(rcdev, id, true);
}
rst = to_qcom_reset_controller(rcdev);
map = &rst->reset_map[id];
mask = BIT(map->bit);
return regmap_update_bits(rst->regmap, map->reg, mask, 0);
static int qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id)
{
return qcom_reset_set_assert(rcdev, id, false);
}
const struct reset_control_ops qcom_reset_ops = {

View File

@@ -19,6 +19,8 @@
struct qcom_reset_map {
unsigned int reg;
u8 bit;
u8 udelay;
u32 bitmask;
};
struct regmap;

View File

@@ -513,7 +513,19 @@ static void bm_work(struct work_struct *work)
fw_notice(card, "phy config: new root=%x, gap_count=%d\n",
new_root_id, gap_count);
fw_send_phy_config(card, new_root_id, generation, gap_count);
reset_bus(card, true);
/*
* Where possible, use a short bus reset to minimize
* disruption to isochronous transfers. But in the event
* of a gap count inconsistency, use a long bus reset.
*
* As noted in 1394a 8.4.6.2, nodes on a mixed 1394/1394a bus
* may set different gap counts after a bus reset. On a mixed
* 1394/1394a bus, a short bus reset can get doubled. Some
* nodes may treat the double reset as one bus reset and others
* may treat it as two, causing a gap count inconsistency
* again. Using a long bus reset prevents this.
*/
reset_bus(card, card->gap_count != 0);
/* Will allocate broadcast channel after the reset. */
goto out;
}

View File

@@ -306,7 +306,7 @@ static uint32_t atom_get_src_int(atom_exec_context *ctx, uint8_t attr,
DEBUG("IMM 0x%02X\n", val);
return val;
}
return 0;
break;
case ATOM_ARG_PLL:
idx = U8(*ptr);
(*ptr)++;

View File

@@ -78,11 +78,13 @@ static void mtk_drm_crtc_finish_page_flip(struct mtk_drm_crtc *mtk_crtc)
struct drm_crtc *crtc = &mtk_crtc->base;
unsigned long flags;
spin_lock_irqsave(&crtc->dev->event_lock, flags);
drm_crtc_send_vblank_event(crtc, mtk_crtc->event);
drm_crtc_vblank_put(crtc);
mtk_crtc->event = NULL;
spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
if (mtk_crtc->event) {
spin_lock_irqsave(&crtc->dev->event_lock, flags);
drm_crtc_send_vblank_event(crtc, mtk_crtc->event);
drm_crtc_vblank_put(crtc);
mtk_crtc->event = NULL;
spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
}
}
static void mtk_drm_finish_page_flip(struct mtk_drm_crtc *mtk_crtc)

View File

@@ -70,8 +70,8 @@
#define DSI_PS_WC 0x3fff
#define DSI_PS_SEL (3 << 16)
#define PACKED_PS_16BIT_RGB565 (0 << 16)
#define LOOSELY_PS_18BIT_RGB666 (1 << 16)
#define PACKED_PS_18BIT_RGB666 (2 << 16)
#define PACKED_PS_18BIT_RGB666 (1 << 16)
#define LOOSELY_PS_24BIT_RGB666 (2 << 16)
#define PACKED_PS_24BIT_RGB888 (3 << 16)
#define DSI_VSA_NL 0x20
@@ -327,10 +327,10 @@ static void mtk_dsi_ps_control_vact(struct mtk_dsi *dsi)
ps_bpp_mode |= PACKED_PS_24BIT_RGB888;
break;
case MIPI_DSI_FMT_RGB666:
ps_bpp_mode |= PACKED_PS_18BIT_RGB666;
ps_bpp_mode |= LOOSELY_PS_24BIT_RGB666;
break;
case MIPI_DSI_FMT_RGB666_PACKED:
ps_bpp_mode |= LOOSELY_PS_18BIT_RGB666;
ps_bpp_mode |= PACKED_PS_18BIT_RGB666;
break;
case MIPI_DSI_FMT_RGB565:
ps_bpp_mode |= PACKED_PS_16BIT_RGB565;
@@ -381,7 +381,7 @@ static void mtk_dsi_ps_control(struct mtk_dsi *dsi)
dsi_tmp_buf_bpp = 3;
break;
case MIPI_DSI_FMT_RGB666:
tmp_reg = LOOSELY_PS_18BIT_RGB666;
tmp_reg = LOOSELY_PS_24BIT_RGB666;
dsi_tmp_buf_bpp = 3;
break;
case MIPI_DSI_FMT_RGB666_PACKED:

View File

@@ -823,7 +823,7 @@ int ni_init_microcode(struct radeon_device *rdev)
err = 0;
} else if (rdev->smc_fw->size != smc_req_size) {
pr_err("ni_mc: Bogus length %zu in firmware \"%s\"\n",
rdev->mc_fw->size, fw_name);
rdev->smc_fw->size, fw_name);
err = -EINVAL;
}
}

View File

@@ -407,7 +407,7 @@ static int inno_hdmi_config_video_timing(struct inno_hdmi *hdmi,
hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HBLANK_L, value & 0xFF);
hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HBLANK_H, (value >> 8) & 0xFF);
value = mode->hsync_start - mode->hdisplay;
value = mode->htotal - mode->hsync_start;
hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HDELAY_L, value & 0xFF);
hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HDELAY_H, (value >> 8) & 0xFF);
@@ -422,7 +422,7 @@ static int inno_hdmi_config_video_timing(struct inno_hdmi *hdmi,
value = mode->vtotal - mode->vdisplay;
hdmi_writeb(hdmi, HDMI_VIDEO_EXT_VBLANK, value & 0xFF);
value = mode->vsync_start - mode->vdisplay;
value = mode->vtotal - mode->vsync_start;
hdmi_writeb(hdmi, HDMI_VIDEO_EXT_VDELAY, value & 0xFF);
value = mode->vsync_end - mode->vsync_start;

View File

@@ -1476,9 +1476,11 @@ static int tegra_dsi_ganged_probe(struct tegra_dsi *dsi)
np = of_parse_phandle(dsi->dev->of_node, "nvidia,ganged-mode", 0);
if (np) {
struct platform_device *gangster = of_find_device_by_node(np);
of_node_put(np);
if (!gangster)
return -EPROBE_DEFER;
dsi->slave = platform_get_drvdata(gangster);
of_node_put(np);
if (!dsi->slave) {
put_device(&gangster->dev);
@@ -1526,48 +1528,58 @@ static int tegra_dsi_probe(struct platform_device *pdev)
if (!pdev->dev.pm_domain) {
dsi->rst = devm_reset_control_get(&pdev->dev, "dsi");
if (IS_ERR(dsi->rst))
return PTR_ERR(dsi->rst);
if (IS_ERR(dsi->rst)) {
err = PTR_ERR(dsi->rst);
goto remove;
}
}
dsi->clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(dsi->clk)) {
dev_err(&pdev->dev, "cannot get DSI clock\n");
return PTR_ERR(dsi->clk);
err = dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk),
"cannot get DSI clock\n");
goto remove;
}
dsi->clk_lp = devm_clk_get(&pdev->dev, "lp");
if (IS_ERR(dsi->clk_lp)) {
dev_err(&pdev->dev, "cannot get low-power clock\n");
return PTR_ERR(dsi->clk_lp);
err = dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk_lp),
"cannot get low-power clock\n");
goto remove;
}
dsi->clk_parent = devm_clk_get(&pdev->dev, "parent");
if (IS_ERR(dsi->clk_parent)) {
dev_err(&pdev->dev, "cannot get parent clock\n");
return PTR_ERR(dsi->clk_parent);
err = dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk_parent),
"cannot get parent clock\n");
goto remove;
}
dsi->vdd = devm_regulator_get(&pdev->dev, "avdd-dsi-csi");
if (IS_ERR(dsi->vdd)) {
dev_err(&pdev->dev, "cannot get VDD supply\n");
return PTR_ERR(dsi->vdd);
err = dev_err_probe(&pdev->dev, PTR_ERR(dsi->vdd),
"cannot get VDD supply\n");
goto remove;
}
err = tegra_dsi_setup_clocks(dsi);
if (err < 0) {
dev_err(&pdev->dev, "cannot setup clocks\n");
return err;
goto remove;
}
regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
dsi->regs = devm_ioremap_resource(&pdev->dev, regs);
if (IS_ERR(dsi->regs))
return PTR_ERR(dsi->regs);
if (IS_ERR(dsi->regs)) {
err = PTR_ERR(dsi->regs);
goto remove;
}
dsi->mipi = tegra_mipi_request(&pdev->dev);
if (IS_ERR(dsi->mipi))
return PTR_ERR(dsi->mipi);
dsi->mipi = tegra_mipi_request(&pdev->dev, pdev->dev.of_node);
if (IS_ERR(dsi->mipi)) {
err = PTR_ERR(dsi->mipi);
goto remove;
}
dsi->host.ops = &tegra_dsi_host_ops;
dsi->host.dev = &pdev->dev;
@@ -1595,9 +1607,12 @@ static int tegra_dsi_probe(struct platform_device *pdev)
return 0;
unregister:
pm_runtime_disable(&pdev->dev);
mipi_dsi_host_unregister(&dsi->host);
mipi_free:
tegra_mipi_free(dsi->mipi);
remove:
tegra_output_remove(&dsi->output);
return err;
}

View File

@@ -179,6 +179,7 @@ struct drm_framebuffer *tegra_fb_create(struct drm_device *drm,
if (gem->size < size) {
err = -EINVAL;
drm_gem_object_put(gem);
goto unreference;
}

View File

@@ -206,9 +206,9 @@ static int tegra_mipi_power_down(struct tegra_mipi *mipi)
return 0;
}
struct tegra_mipi_device *tegra_mipi_request(struct device *device)
struct tegra_mipi_device *tegra_mipi_request(struct device *device,
struct device_node *np)
{
struct device_node *np = device->of_node;
struct tegra_mipi_device *dev;
struct of_phandle_args args;
int err;

View File

@@ -328,12 +328,10 @@ static int gpio_keys_polled_probe(struct platform_device *pdev)
error = devm_gpio_request_one(dev, button->gpio,
flags, button->desc ? : DRV_NAME);
if (error) {
dev_err(dev,
"unable to claim gpio %u, err=%d\n",
button->gpio, error);
return error;
}
if (error)
return dev_err_probe(dev, error,
"unable to claim gpio %u\n",
button->gpio);
bdata->gpiod = gpio_to_desc(button->gpio);
if (!bdata->gpiod) {

View File

@@ -1712,6 +1712,9 @@ static int __init iommu_init_pci(struct amd_iommu *iommu)
/* Prevent binding other PCI device drivers to IOMMU devices */
iommu->dev->match_driver = false;
/* ACPI _PRT won't have an IRQ for IOMMU */
iommu->dev->irq_managed = 1;
pci_read_config_dword(iommu->dev, cap_ptr + MMIO_CAP_HDR_OFFSET,
&iommu->cap);
pci_read_config_dword(iommu->dev, cap_ptr + MMIO_RANGE_OFFSET,

View File

@@ -46,11 +46,11 @@
struct convert_context {
struct completion restart;
struct bio *bio_in;
struct bio *bio_out;
struct bvec_iter iter_in;
struct bio *bio_out;
struct bvec_iter iter_out;
u64 cc_sector;
atomic_t cc_pending;
u64 cc_sector;
union {
struct skcipher_request *req;
struct aead_request *req_aead;

View File

@@ -3248,14 +3248,14 @@ static int raid_map(struct dm_target *ti, struct bio *bio)
struct mddev *mddev = &rs->md;
/*
* If we're reshaping to add disk(s)), ti->len and
* If we're reshaping to add disk(s), ti->len and
* mddev->array_sectors will differ during the process
* (ti->len > mddev->array_sectors), so we have to requeue
* bios with addresses > mddev->array_sectors here or
* there will occur accesses past EOD of the component
* data images thus erroring the raid set.
*/
if (unlikely(bio_end_sector(bio) > mddev->array_sectors))
if (unlikely(bio_has_data(bio) && bio_end_sector(bio) > mddev->array_sectors))
return DM_MAPIO_REQUEUE;
md_handle_request(mddev, bio);

View File

@@ -72,11 +72,11 @@ struct dm_verity_io {
/* original value of bio->bi_end_io */
bio_end_io_t *orig_bi_end_io;
struct bvec_iter iter;
sector_t block;
unsigned n_blocks;
struct bvec_iter iter;
struct work_struct work;
/*

View File

@@ -2774,6 +2774,9 @@ static void __dm_internal_suspend(struct mapped_device *md, unsigned suspend_fla
static void __dm_internal_resume(struct mapped_device *md)
{
int r;
struct dm_table *map;
BUG_ON(!md->internal_suspend_count);
if (--md->internal_suspend_count)
@@ -2782,12 +2785,23 @@ static void __dm_internal_resume(struct mapped_device *md)
if (dm_suspended_md(md))
goto done; /* resume from nested suspend */
/*
* NOTE: existing callers don't need to call dm_table_resume_targets
* (which may fail -- so best to avoid it for now by passing NULL map)
*/
(void) __dm_resume(md, NULL);
map = rcu_dereference_protected(md->map, lockdep_is_held(&md->suspend_lock));
r = __dm_resume(md, map);
if (r) {
/*
* If a preresume method of some target failed, we are in a
* tricky situation. We can't return an error to the caller. We
* can't fake success because then the "resume" and
* "postsuspend" methods would not be paired correctly, and it
* would break various targets, for example it would cause list
* corruption in the "origin" target.
*
* So, we fake normal suspend here, to make sure that the
* "resume" and "postsuspend" methods will be paired correctly.
*/
DMERR("Preresume method failed: %d", r);
set_bit(DMF_SUSPENDED, &md->flags);
}
done:
clear_bit(DMF_SUSPENDED_INTERNALLY, &md->flags);
smp_mb__after_atomic();

View File

@@ -5430,6 +5430,7 @@ static int md_alloc(dev_t dev, char *name)
* remove it now.
*/
disk->flags |= GENHD_FL_EXT_DEVT;
disk->events |= DISK_EVENT_MEDIA_CHANGE;
mddev->gendisk = disk;
add_disk(disk);
@@ -5857,7 +5858,15 @@ static void md_clean(struct mddev *mddev)
mddev->persistent = 0;
mddev->level = LEVEL_NONE;
mddev->clevel[0] = 0;
mddev->flags = 0;
/*
* Don't clear MD_CLOSING, or mddev can be opened again.
* 'hold_active != 0' means mddev is still in the creation
* process and will be used later.
*/
if (mddev->hold_active)
mddev->flags = 0;
else
mddev->flags &= BIT_ULL_MASK(MD_CLOSING);
mddev->sb_flags = 0;
mddev->ro = 0;
mddev->metadata_type[0] = 0;
@@ -7142,7 +7151,6 @@ static inline bool md_ioctl_valid(unsigned int cmd)
{
switch (cmd) {
case ADD_NEW_DISK:
case BLKROSET:
case GET_ARRAY_INFO:
case GET_BITMAP_FILE:
case GET_DISK_INFO:
@@ -7170,8 +7178,6 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
int err = 0;
void __user *argp = (void __user *)arg;
struct mddev *mddev = NULL;
int ro;
bool did_set_md_closing = false;
if (!md_ioctl_valid(cmd))
return -ENOTTY;
@@ -7266,7 +7272,6 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
err = -EBUSY;
goto out;
}
did_set_md_closing = true;
mutex_unlock(&mddev->open_mutex);
sync_blockdev(bdev);
}
@@ -7361,35 +7366,6 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
goto unlock;
}
break;
case BLKROSET:
if (get_user(ro, (int __user *)(arg))) {
err = -EFAULT;
goto unlock;
}
err = -EINVAL;
/* if the bdev is going readonly the value of mddev->ro
* does not matter, no writes are coming
*/
if (ro)
goto unlock;
/* are we are already prepared for writes? */
if (mddev->ro != 1)
goto unlock;
/* transitioning to readauto need only happen for
* arrays that call md_write_start
*/
if (mddev->pers) {
err = restart_array(mddev);
if (err == 0) {
mddev->ro = 2;
set_disk_ro(mddev->gendisk, 0);
}
}
goto unlock;
}
/*
@@ -7459,7 +7435,7 @@ unlock:
mddev->hold_active = 0;
mddev_unlock(mddev);
out:
if(did_set_md_closing)
if (cmd == STOP_ARRAY_RO || (err && cmd == STOP_ARRAY))
clear_bit(MD_CLOSING, &mddev->flags);
return err;
}
@@ -7483,6 +7459,36 @@ static int md_compat_ioctl(struct block_device *bdev, fmode_t mode,
}
#endif /* CONFIG_COMPAT */
static int md_set_read_only(struct block_device *bdev, bool ro)
{
struct mddev *mddev = bdev->bd_disk->private_data;
int err;
err = mddev_lock(mddev);
if (err)
return err;
if (!mddev->raid_disks && !mddev->external) {
err = -ENODEV;
goto out_unlock;
}
/*
* Transitioning to read-auto need only happen for arrays that call
* md_write_start and which are not ready for writes yet.
*/
if (!ro && mddev->ro == 1 && mddev->pers) {
err = restart_array(mddev);
if (err)
goto out_unlock;
mddev->ro = 2;
}
out_unlock:
mddev_unlock(mddev);
return err;
}
static int md_open(struct block_device *bdev, fmode_t mode)
{
/*
@@ -7536,20 +7542,17 @@ static void md_release(struct gendisk *disk, fmode_t mode)
mddev_put(mddev);
}
static int md_media_changed(struct gendisk *disk)
{
struct mddev *mddev = disk->private_data;
return mddev->changed;
}
static int md_revalidate(struct gendisk *disk)
static unsigned int md_check_events(struct gendisk *disk, unsigned int clearing)
{
struct mddev *mddev = disk->private_data;
unsigned int ret = 0;
if (mddev->changed)
ret = DISK_EVENT_MEDIA_CHANGE;
mddev->changed = 0;
return 0;
return ret;
}
static const struct block_device_operations md_fops =
{
.owner = THIS_MODULE,
@@ -7560,8 +7563,8 @@ static const struct block_device_operations md_fops =
.compat_ioctl = md_compat_ioctl,
#endif
.getgeo = md_getgeo,
.media_changed = md_media_changed,
.revalidate_disk= md_revalidate,
.check_events = md_check_events,
.set_read_only = md_set_read_only,
};
static int md_thread(void *arg)

View File

@@ -125,36 +125,68 @@ int tpg_alloc(struct tpg_data *tpg, unsigned max_w)
{
unsigned pat;
unsigned plane;
int ret = 0;
tpg->max_line_width = max_w;
for (pat = 0; pat < TPG_MAX_PAT_LINES; pat++) {
for (plane = 0; plane < TPG_MAX_PLANES; plane++) {
unsigned pixelsz = plane ? 2 : 4;
tpg->lines[pat][plane] = vzalloc(array3_size(max_w, 2, pixelsz));
if (!tpg->lines[pat][plane])
return -ENOMEM;
tpg->lines[pat][plane] = vzalloc(max_w * 2 * pixelsz);
if (!tpg->lines[pat][plane]) {
ret = -ENOMEM;
goto free_lines;
}
if (plane == 0)
continue;
tpg->downsampled_lines[pat][plane] = vzalloc(array3_size(max_w, 2, pixelsz));
if (!tpg->downsampled_lines[pat][plane])
return -ENOMEM;
tpg->downsampled_lines[pat][plane] = vzalloc(max_w * 2 * pixelsz);
if (!tpg->downsampled_lines[pat][plane]) {
ret = -ENOMEM;
goto free_lines;
}
}
}
for (plane = 0; plane < TPG_MAX_PLANES; plane++) {
unsigned pixelsz = plane ? 2 : 4;
tpg->contrast_line[plane] = vzalloc(array_size(pixelsz, max_w));
if (!tpg->contrast_line[plane])
return -ENOMEM;
tpg->black_line[plane] = vzalloc(array_size(pixelsz, max_w));
if (!tpg->black_line[plane])
return -ENOMEM;
tpg->random_line[plane] = vzalloc(array3_size(max_w, 2, pixelsz));
if (!tpg->random_line[plane])
return -ENOMEM;
tpg->contrast_line[plane] = vzalloc(max_w * pixelsz);
if (!tpg->contrast_line[plane]) {
ret = -ENOMEM;
goto free_contrast_line;
}
tpg->black_line[plane] = vzalloc(max_w * pixelsz);
if (!tpg->black_line[plane]) {
ret = -ENOMEM;
goto free_contrast_line;
}
tpg->random_line[plane] = vzalloc(max_w * 2 * pixelsz);
if (!tpg->random_line[plane]) {
ret = -ENOMEM;
goto free_contrast_line;
}
}
return 0;
free_contrast_line:
for (plane = 0; plane < TPG_MAX_PLANES; plane++) {
vfree(tpg->contrast_line[plane]);
vfree(tpg->black_line[plane]);
vfree(tpg->random_line[plane]);
tpg->contrast_line[plane] = NULL;
tpg->black_line[plane] = NULL;
tpg->random_line[plane] = NULL;
}
free_lines:
for (pat = 0; pat < TPG_MAX_PAT_LINES; pat++)
for (plane = 0; plane < TPG_MAX_PLANES; plane++) {
vfree(tpg->lines[pat][plane]);
tpg->lines[pat][plane] = NULL;
if (plane == 0)
continue;
vfree(tpg->downsampled_lines[pat][plane]);
tpg->downsampled_lines[pat][plane] = NULL;
}
return ret;
}
EXPORT_SYMBOL_GPL(tpg_alloc);

View File

@@ -36,6 +36,7 @@
#include <media/tuner.h>
static DEFINE_MUTEX(dvbdev_mutex);
static LIST_HEAD(dvbdevfops_list);
static int dvbdev_debug;
module_param(dvbdev_debug, int, 0644);
@@ -51,8 +52,15 @@ static LIST_HEAD(dvb_adapter_list);
static DEFINE_MUTEX(dvbdev_register_lock);
static const char * const dnames[] = {
"video", "audio", "sec", "frontend", "demux", "dvr", "ca",
"net", "osd"
[DVB_DEVICE_VIDEO] = "video",
[DVB_DEVICE_AUDIO] = "audio",
[DVB_DEVICE_SEC] = "sec",
[DVB_DEVICE_FRONTEND] = "frontend",
[DVB_DEVICE_DEMUX] = "demux",
[DVB_DEVICE_DVR] = "dvr",
[DVB_DEVICE_CA] = "ca",
[DVB_DEVICE_NET] = "net",
[DVB_DEVICE_OSD] = "osd"
};
#ifdef CONFIG_DVB_DYNAMIC_MINORS
@@ -60,7 +68,24 @@ static const char * const dnames[] = {
#define DVB_MAX_IDS MAX_DVB_MINORS
#else
#define DVB_MAX_IDS 4
#define nums2minor(num, type, id) ((num << 6) | (id << 4) | type)
static int nums2minor(int num, enum dvb_device_type type, int id)
{
int n = (num << 6) | (id << 4);
switch (type) {
case DVB_DEVICE_VIDEO: return n;
case DVB_DEVICE_AUDIO: return n | 1;
case DVB_DEVICE_SEC: return n | 2;
case DVB_DEVICE_FRONTEND: return n | 3;
case DVB_DEVICE_DEMUX: return n | 4;
case DVB_DEVICE_DVR: return n | 5;
case DVB_DEVICE_CA: return n | 6;
case DVB_DEVICE_NET: return n | 7;
case DVB_DEVICE_OSD: return n | 8;
}
}
#define MAX_DVB_MINORS (DVB_MAX_ADAPTERS*64)
#endif
@@ -435,18 +460,19 @@ static int dvb_register_media_device(struct dvb_device *dvbdev,
}
int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
const struct dvb_device *template, void *priv, int type,
int demux_sink_pads)
const struct dvb_device *template, void *priv,
enum dvb_device_type type, int demux_sink_pads)
{
struct dvb_device *dvbdev;
struct file_operations *dvbdevfops;
struct file_operations *dvbdevfops = NULL;
struct dvbdevfops_node *node = NULL, *new_node = NULL;
struct device *clsdev;
int minor;
int id, ret;
mutex_lock(&dvbdev_register_lock);
if ((id = dvbdev_get_free_id (adap, type)) < 0){
if ((id = dvbdev_get_free_id (adap, type)) < 0) {
mutex_unlock(&dvbdev_register_lock);
*pdvbdev = NULL;
pr_err("%s: couldn't find free device id\n", __func__);
@@ -454,18 +480,47 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
}
*pdvbdev = dvbdev = kzalloc(sizeof(*dvbdev), GFP_KERNEL);
if (!dvbdev){
mutex_unlock(&dvbdev_register_lock);
return -ENOMEM;
}
dvbdevfops = kzalloc(sizeof(struct file_operations), GFP_KERNEL);
/*
* When a device of the same type is probe()d more than once,
* the first allocated fops are used. This prevents memory leaks
* that can occur when the same device is probe()d repeatedly.
*/
list_for_each_entry(node, &dvbdevfops_list, list_head) {
if (node->fops->owner == adap->module &&
node->type == type &&
node->template == template) {
dvbdevfops = node->fops;
break;
}
}
if (!dvbdevfops){
kfree (dvbdev);
mutex_unlock(&dvbdev_register_lock);
return -ENOMEM;
if (dvbdevfops == NULL) {
dvbdevfops = kmemdup(template->fops, sizeof(*dvbdevfops), GFP_KERNEL);
if (!dvbdevfops) {
kfree(dvbdev);
*pdvbdev = NULL;
mutex_unlock(&dvbdev_register_lock);
return -ENOMEM;
}
new_node = kzalloc(sizeof(struct dvbdevfops_node), GFP_KERNEL);
if (!new_node) {
kfree(dvbdevfops);
kfree(dvbdev);
*pdvbdev = NULL;
mutex_unlock(&dvbdev_register_lock);
return -ENOMEM;
}
new_node->fops = dvbdevfops;
new_node->type = type;
new_node->template = template;
list_add_tail (&new_node->list_head, &dvbdevfops_list);
}
memcpy(dvbdev, template, sizeof(struct dvb_device));
@@ -476,21 +531,22 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
dvbdev->priv = priv;
dvbdev->fops = dvbdevfops;
init_waitqueue_head (&dvbdev->wait_queue);
memcpy(dvbdevfops, template->fops, sizeof(struct file_operations));
dvbdevfops->owner = adap->module;
list_add_tail (&dvbdev->list_head, &adap->device_list);
down_write(&minor_rwsem);
#ifdef CONFIG_DVB_DYNAMIC_MINORS
for (minor = 0; minor < MAX_DVB_MINORS; minor++)
if (dvb_minors[minor] == NULL)
break;
if (minor == MAX_DVB_MINORS) {
kfree(dvbdevfops);
if (new_node) {
list_del (&new_node->list_head);
kfree(dvbdevfops);
kfree(new_node);
}
list_del (&dvbdev->list_head);
kfree(dvbdev);
*pdvbdev = NULL;
up_write(&minor_rwsem);
mutex_unlock(&dvbdev_register_lock);
return -EINVAL;
@@ -498,37 +554,49 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
#else
minor = nums2minor(adap->num, type, id);
#endif
dvbdev->minor = minor;
dvb_minors[minor] = dvb_device_get(dvbdev);
up_write(&minor_rwsem);
ret = dvb_register_media_device(dvbdev, type, minor, demux_sink_pads);
if (ret) {
pr_err("%s: dvb_register_media_device failed to create the mediagraph\n",
__func__);
if (new_node) {
list_del (&new_node->list_head);
kfree(dvbdevfops);
kfree(new_node);
}
dvb_media_device_free(dvbdev);
kfree(dvbdevfops);
list_del (&dvbdev->list_head);
kfree(dvbdev);
up_write(&minor_rwsem);
*pdvbdev = NULL;
mutex_unlock(&dvbdev_register_lock);
return ret;
}
mutex_unlock(&dvbdev_register_lock);
clsdev = device_create(dvb_class, adap->device,
MKDEV(DVB_MAJOR, minor),
dvbdev, "dvb%d.%s%d", adap->num, dnames[type], id);
if (IS_ERR(clsdev)) {
pr_err("%s: failed to create device dvb%d.%s%d (%ld)\n",
__func__, adap->num, dnames[type], id, PTR_ERR(clsdev));
if (new_node) {
list_del (&new_node->list_head);
kfree(dvbdevfops);
kfree(new_node);
}
dvb_media_device_free(dvbdev);
list_del (&dvbdev->list_head);
kfree(dvbdev);
*pdvbdev = NULL;
mutex_unlock(&dvbdev_register_lock);
return PTR_ERR(clsdev);
}
dprintk("DVB: register adapter%d/%s%d @ minor: %i (0x%02x)\n",
adap->num, dnames[type], id, minor, minor);
mutex_unlock(&dvbdev_register_lock);
return 0;
}
EXPORT_SYMBOL(dvb_register_device);
@@ -557,7 +625,6 @@ static void dvb_free_device(struct kref *ref)
{
struct dvb_device *dvbdev = container_of(ref, struct dvb_device, ref);
kfree (dvbdev->fops);
kfree (dvbdev);
}
@@ -996,9 +1063,17 @@ error:
static void __exit exit_dvbdev(void)
{
struct dvbdevfops_node *node, *next;
class_destroy(dvb_class);
cdev_del(&dvb_device_cdev);
unregister_chrdev_region(MKDEV(DVB_MAJOR, 0), MAX_DVB_MINORS);
list_for_each_entry_safe(node, next, &dvbdevfops_list, list_head) {
list_del (&node->list_head);
kfree(node->fops);
kfree(node);
}
}
subsys_initcall(init_dvbdev);

View File

@@ -35,15 +35,37 @@
#define DVB_UNSET (-1)
#define DVB_DEVICE_VIDEO 0
#define DVB_DEVICE_AUDIO 1
#define DVB_DEVICE_SEC 2
#define DVB_DEVICE_FRONTEND 3
#define DVB_DEVICE_DEMUX 4
#define DVB_DEVICE_DVR 5
#define DVB_DEVICE_CA 6
#define DVB_DEVICE_NET 7
#define DVB_DEVICE_OSD 8
/* List of DVB device types */
/**
* enum dvb_device_type - type of the Digital TV device
*
* @DVB_DEVICE_SEC: Digital TV standalone Common Interface (CI)
* @DVB_DEVICE_FRONTEND: Digital TV frontend.
* @DVB_DEVICE_DEMUX: Digital TV demux.
* @DVB_DEVICE_DVR: Digital TV digital video record (DVR).
* @DVB_DEVICE_CA: Digital TV Conditional Access (CA).
* @DVB_DEVICE_NET: Digital TV network.
*
* @DVB_DEVICE_VIDEO: Digital TV video decoder.
* Deprecated. Used only on av7110-av.
* @DVB_DEVICE_AUDIO: Digital TV audio decoder.
* Deprecated. Used only on av7110-av.
* @DVB_DEVICE_OSD: Digital TV On Screen Display (OSD).
* Deprecated. Used only on av7110.
*/
enum dvb_device_type {
DVB_DEVICE_SEC,
DVB_DEVICE_FRONTEND,
DVB_DEVICE_DEMUX,
DVB_DEVICE_DVR,
DVB_DEVICE_CA,
DVB_DEVICE_NET,
DVB_DEVICE_VIDEO,
DVB_DEVICE_AUDIO,
DVB_DEVICE_OSD,
};
#define DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr) \
static short adapter_nr[] = \
@@ -104,8 +126,7 @@ struct dvb_adapter {
* @list_head: List head with all DVB devices
* @fops: pointer to struct file_operations
* @adapter: pointer to the adapter that holds this device node
* @type: type of the device: DVB_DEVICE_SEC, DVB_DEVICE_FRONTEND,
* DVB_DEVICE_DEMUX, DVB_DEVICE_DVR, DVB_DEVICE_CA, DVB_DEVICE_NET
* @type: type of the device, as defined by &enum dvb_device_type.
* @minor: devnode minor number. Major number is always DVB_MAJOR.
* @id: device ID number, inside the adapter
* @readers: Initialized by the caller. Each call to open() in Read Only mode
@@ -136,7 +157,7 @@ struct dvb_device {
struct kref ref;
const struct file_operations *fops;
struct dvb_adapter *adapter;
int type;
enum dvb_device_type type;
int minor;
u32 id;
@@ -165,6 +186,21 @@ struct dvb_device {
void *priv;
};
/**
* struct dvbdevfops_node - fops nodes registered in dvbdevfops_list
*
* @fops: Dynamically allocated fops for ->owner registration
* @type: type of dvb_device
* @template: dvb_device used for registration
* @list_head: list_head for dvbdevfops_list
*/
struct dvbdevfops_node {
struct file_operations *fops;
enum dvb_device_type type;
const struct dvb_device *template;
struct list_head list_head;
};
/**
* dvb_device_get - Increase dvb_device reference
*
@@ -209,9 +245,7 @@ int dvb_unregister_adapter(struct dvb_adapter *adap);
* stored
* @template: Template used to create &pdvbdev;
* @priv: private data
* @type: type of the device: %DVB_DEVICE_SEC, %DVB_DEVICE_FRONTEND,
* %DVB_DEVICE_DEMUX, %DVB_DEVICE_DVR, %DVB_DEVICE_CA,
* %DVB_DEVICE_NET
* @type: type of the device, as defined by &enum dvb_device_type.
* @demux_sink_pads: Number of demux outputs, to be used to create the TS
* outputs via the Media Controller.
*/
@@ -219,7 +253,7 @@ int dvb_register_device(struct dvb_adapter *adap,
struct dvb_device **pdvbdev,
const struct dvb_device *template,
void *priv,
int type,
enum dvb_device_type type,
int demux_sink_pads);
/**

View File

@@ -12284,7 +12284,8 @@ struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c)
if (state == NULL)
goto error;
demod = kmalloc(sizeof(struct drx_demod_instance), GFP_KERNEL);
demod = kmemdup(&drxj_default_demod_g,
sizeof(struct drx_demod_instance), GFP_KERNEL);
if (demod == NULL)
goto error;
@@ -12308,8 +12309,6 @@ struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c)
state->demod = demod;
/* setup the demod data */
memcpy(demod, &drxj_default_demod_g, sizeof(struct drx_demod_instance));
demod->my_i2c_dev_addr = demod_addr;
demod->my_common_attr = demod_comm_attr;
demod->my_i2c_dev_addr->user_data = state;

View File

@@ -128,50 +128,32 @@ static const s32 stv0367cab_RF_LookUp2[RF_LOOKUP_TABLE2_SIZE][RF_LOOKUP_TABLE2_S
}
};
static
int stv0367_writeregs(struct stv0367_state *state, u16 reg, u8 *data, int len)
static noinline_for_stack
int stv0367_writereg(struct stv0367_state *state, u16 reg, u8 data)
{
u8 buf[MAX_XFER_SIZE];
u8 buf[3] = { MSB(reg), LSB(reg), data };
struct i2c_msg msg = {
.addr = state->config->demod_address,
.flags = 0,
.buf = buf,
.len = len + 2
.len = 3,
};
int ret;
if (2 + len > sizeof(buf)) {
printk(KERN_WARNING
"%s: i2c wr reg=%04x: len=%d is too big!\n",
KBUILD_MODNAME, reg, len);
return -EINVAL;
}
buf[0] = MSB(reg);
buf[1] = LSB(reg);
memcpy(buf + 2, data, len);
if (i2cdebug)
printk(KERN_DEBUG "%s: [%02x] %02x: %02x\n", __func__,
state->config->demod_address, reg, buf[2]);
state->config->demod_address, reg, data);
ret = i2c_transfer(state->i2c, &msg, 1);
if (ret != 1)
printk(KERN_ERR "%s: i2c write error! ([%02x] %02x: %02x)\n",
__func__, state->config->demod_address, reg, buf[2]);
__func__, state->config->demod_address, reg, data);
return (ret != 1) ? -EREMOTEIO : 0;
}
static int stv0367_writereg(struct stv0367_state *state, u16 reg, u8 data)
{
u8 tmp = data; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
return stv0367_writeregs(state, reg, &tmp, 1);
}
static u8 stv0367_readreg(struct stv0367_state *state, u16 reg)
static noinline_for_stack
u8 stv0367_readreg(struct stv0367_state *state, u16 reg)
{
u8 b0[] = { 0, 0 };
u8 b1[] = { 0 };

View File

@@ -1937,9 +1937,6 @@ static int tc358743_probe(struct i2c_client *client,
state->mbus_fmt_code = MEDIA_BUS_FMT_RGB888_1X24;
sd->dev = &client->dev;
err = v4l2_async_register_subdev(sd);
if (err < 0)
goto err_hdl;
mutex_init(&state->confctl_mutex);
@@ -1979,6 +1976,10 @@ static int tc358743_probe(struct i2c_client *client,
if (err)
goto err_work_queues;
err = v4l2_async_register_subdev(sd);
if (err < 0)
goto err_work_queues;
v4l2_info(sd, "%s found @ 0x%x (%s)\n", client->name,
client->addr << 1, client->adapter->name);

View File

@@ -3741,6 +3741,10 @@ static int em28xx_usb_probe(struct usb_interface *interface,
* topology will likely change after the load of the em28xx subdrivers.
*/
#ifdef CONFIG_MEDIA_CONTROLLER
/*
* No need to check the return value, the device will still be
* usable without media controller API.
*/
retval = media_device_register(dev->media_dev);
#endif

View File

@@ -88,7 +88,7 @@ static int go7007_load_encoder(struct go7007 *go)
const struct firmware *fw_entry;
char fw_name[] = "go7007/go7007fw.bin";
void *bounce;
int fw_len, rv = 0;
int fw_len;
u16 intr_val, intr_data;
if (go->boot_fw == NULL) {
@@ -117,9 +117,11 @@ static int go7007_load_encoder(struct go7007 *go)
go7007_read_interrupt(go, &intr_val, &intr_data) < 0 ||
(intr_val & ~0x1) != 0x5a5a) {
v4l2_err(go, "error transferring firmware\n");
rv = -1;
kfree(go->boot_fw);
go->boot_fw = NULL;
return -1;
}
return rv;
return 0;
}
MODULE_FIRMWARE("go7007/go7007fw.bin");

View File

@@ -1206,7 +1206,9 @@ static int go7007_usb_probe(struct usb_interface *intf,
u16 channel;
/* read channel number from GPIO[1:0] */
go7007_read_addr(go, 0x3c81, &channel);
if (go7007_read_addr(go, 0x3c81, &channel))
goto allocfail;
channel &= 0x3;
go->board_id = GO7007_BOARDID_ADLINK_MPG24;
usb->board = board = &board_adlink_mpg24;

View File

@@ -99,8 +99,10 @@ static void pvr2_context_destroy(struct pvr2_context *mp)
}
static void pvr2_context_notify(struct pvr2_context *mp)
static void pvr2_context_notify(void *ptr)
{
struct pvr2_context *mp = ptr;
pvr2_context_set_notify(mp,!0);
}
@@ -115,9 +117,7 @@ static void pvr2_context_check(struct pvr2_context *mp)
pvr2_trace(PVR2_TRACE_CTXT,
"pvr2_context %p (initialize)", mp);
/* Finish hardware initialization */
if (pvr2_hdw_initialize(mp->hdw,
(void (*)(void *))pvr2_context_notify,
mp)) {
if (pvr2_hdw_initialize(mp->hdw, pvr2_context_notify, mp)) {
mp->video_stream.stream =
pvr2_hdw_get_video_stream(mp->hdw);
/* Trigger interface initialization. By doing this
@@ -276,9 +276,9 @@ static void pvr2_context_exit(struct pvr2_context *mp)
void pvr2_context_disconnect(struct pvr2_context *mp)
{
pvr2_hdw_disconnect(mp->hdw);
mp->disconnect_flag = !0;
if (!pvr2_context_shutok())
pvr2_context_notify(mp);
mp->disconnect_flag = !0;
}

View File

@@ -97,8 +97,10 @@ static int pvr2_dvb_feed_thread(void *data)
return stat;
}
static void pvr2_dvb_notify(struct pvr2_dvb_adapter *adap)
static void pvr2_dvb_notify(void *ptr)
{
struct pvr2_dvb_adapter *adap = ptr;
wake_up(&adap->buffer_wait_data);
}
@@ -158,7 +160,7 @@ static int pvr2_dvb_stream_do_start(struct pvr2_dvb_adapter *adap)
}
pvr2_stream_set_callback(pvr->video_stream.stream,
(pvr2_stream_callback) pvr2_dvb_notify, adap);
pvr2_dvb_notify, adap);
ret = pvr2_stream_set_buffer_count(stream, PVR2_DVB_BUFFER_COUNT);
if (ret < 0) return ret;

View File

@@ -1092,8 +1092,10 @@ static int pvr2_v4l2_open(struct file *file)
}
static void pvr2_v4l2_notify(struct pvr2_v4l2_fh *fhp)
static void pvr2_v4l2_notify(void *ptr)
{
struct pvr2_v4l2_fh *fhp = ptr;
wake_up(&fhp->wait_data);
}
@@ -1126,7 +1128,7 @@ static int pvr2_v4l2_iosetup(struct pvr2_v4l2_fh *fh)
hdw = fh->channel.mc_head->hdw;
sp = fh->pdi->stream->stream;
pvr2_stream_set_callback(sp,(pvr2_stream_callback)pvr2_v4l2_notify,fh);
pvr2_stream_set_callback(sp, pvr2_v4l2_notify, fh);
pvr2_hdw_set_stream_type(hdw,fh->pdi->config);
if ((ret = pvr2_hdw_set_streaming(hdw,!0)) < 0) return ret;
return pvr2_ioread_set_enabled(fh->rhp,!0);

View File

@@ -190,7 +190,9 @@ struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np,
return ERR_PTR(-ENODEV);
regmap = syscon_node_to_regmap(syscon_np);
of_node_put(syscon_np);
if (property)
of_node_put(syscon_np);
return regmap;
}

View File

@@ -893,7 +893,6 @@ static int wmt_mci_remove(struct platform_device *pdev)
{
struct mmc_host *mmc;
struct wmt_mci_priv *priv;
struct resource *res;
u32 reg_tmp;
mmc = platform_get_drvdata(pdev);
@@ -921,9 +920,6 @@ static int wmt_mci_remove(struct platform_device *pdev)
clk_disable_unprepare(priv->clk_sdmmc);
clk_put(priv->clk_sdmmc);
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
release_mem_region(res->start, resource_size(res));
mmc_free_host(mmc);
dev_info(&pdev->dev, "WMT MCI device removed\n");

View File

@@ -315,8 +315,9 @@ static int lpc32xx_nand_device_ready(struct mtd_info *mtd)
return 0;
}
static irqreturn_t lpc3xxx_nand_irq(int irq, struct lpc32xx_nand_host *host)
static irqreturn_t lpc3xxx_nand_irq(int irq, void *data)
{
struct lpc32xx_nand_host *host = data;
uint8_t sr;
/* Clear interrupt flag by reading status */
@@ -783,7 +784,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
goto err_exit3;
}
if (request_irq(host->irq, (irq_handler_t)&lpc3xxx_nand_irq,
if (request_irq(host->irq, &lpc3xxx_nand_irq,
IRQF_TRIGGER_HIGH, DRV_NAME, host)) {
dev_err(&pdev->dev, "Error requesting NAND IRQ\n");
res = -ENXIO;

View File

@@ -1007,9 +1007,6 @@ static inline void bnx2x_set_fw_mac_addr(__le16 *fw_hi, __le16 *fw_mid,
static inline void bnx2x_free_rx_mem_pool(struct bnx2x *bp,
struct bnx2x_alloc_pool *pool)
{
if (!pool->page)
return;
put_page(pool->page);
pool->page = NULL;
@@ -1020,6 +1017,9 @@ static inline void bnx2x_free_rx_sge_range(struct bnx2x *bp,
{
int i;
if (!fp->page_pool.page)
return;
if (fp->mode == TPA_MODE_DISABLED)
return;

View File

@@ -5772,77 +5772,75 @@ void igb_update_stats(struct igb_adapter *adapter)
}
}
static void igb_perout(struct igb_adapter *adapter, int tsintr_tt)
{
int pin = ptp_find_pin(adapter->ptp_clock, PTP_PF_PEROUT, tsintr_tt);
struct e1000_hw *hw = &adapter->hw;
struct timespec64 ts;
u32 tsauxc;
if (pin < 0 || pin >= IGB_N_PEROUT)
return;
spin_lock(&adapter->tmreg_lock);
ts = timespec64_add(adapter->perout[pin].start,
adapter->perout[pin].period);
/* u32 conversion of tv_sec is safe until y2106 */
wr32((tsintr_tt == 1) ? E1000_TRGTTIML1 : E1000_TRGTTIML0, ts.tv_nsec);
wr32((tsintr_tt == 1) ? E1000_TRGTTIMH1 : E1000_TRGTTIMH0, (u32)ts.tv_sec);
tsauxc = rd32(E1000_TSAUXC);
tsauxc |= TSAUXC_EN_TT0;
wr32(E1000_TSAUXC, tsauxc);
adapter->perout[pin].start = ts;
spin_unlock(&adapter->tmreg_lock);
}
static void igb_extts(struct igb_adapter *adapter, int tsintr_tt)
{
int pin = ptp_find_pin(adapter->ptp_clock, PTP_PF_EXTTS, tsintr_tt);
struct e1000_hw *hw = &adapter->hw;
struct ptp_clock_event event;
u32 sec, nsec;
if (pin < 0 || pin >= IGB_N_EXTTS)
return;
nsec = rd32((tsintr_tt == 1) ? E1000_AUXSTMPL1 : E1000_AUXSTMPL0);
sec = rd32((tsintr_tt == 1) ? E1000_AUXSTMPH1 : E1000_AUXSTMPH0);
event.type = PTP_CLOCK_EXTTS;
event.index = tsintr_tt;
event.timestamp = sec * 1000000000ULL + nsec;
ptp_clock_event(adapter->ptp_clock, &event);
}
static void igb_tsync_interrupt(struct igb_adapter *adapter)
{
struct e1000_hw *hw = &adapter->hw;
u32 tsicr = rd32(E1000_TSICR);
struct ptp_clock_event event;
struct timespec64 ts;
u32 ack = 0, tsauxc, sec, nsec, tsicr = rd32(E1000_TSICR);
if (tsicr & TSINTR_SYS_WRAP) {
event.type = PTP_CLOCK_PPS;
if (adapter->ptp_caps.pps)
ptp_clock_event(adapter->ptp_clock, &event);
ack |= TSINTR_SYS_WRAP;
}
if (tsicr & E1000_TSICR_TXTS) {
/* retrieve hardware timestamp */
schedule_work(&adapter->ptp_tx_work);
ack |= E1000_TSICR_TXTS;
}
if (tsicr & TSINTR_TT0) {
spin_lock(&adapter->tmreg_lock);
ts = timespec64_add(adapter->perout[0].start,
adapter->perout[0].period);
/* u32 conversion of tv_sec is safe until y2106 */
wr32(E1000_TRGTTIML0, ts.tv_nsec);
wr32(E1000_TRGTTIMH0, (u32)ts.tv_sec);
tsauxc = rd32(E1000_TSAUXC);
tsauxc |= TSAUXC_EN_TT0;
wr32(E1000_TSAUXC, tsauxc);
adapter->perout[0].start = ts;
spin_unlock(&adapter->tmreg_lock);
ack |= TSINTR_TT0;
}
if (tsicr & TSINTR_TT0)
igb_perout(adapter, 0);
if (tsicr & TSINTR_TT1) {
spin_lock(&adapter->tmreg_lock);
ts = timespec64_add(adapter->perout[1].start,
adapter->perout[1].period);
wr32(E1000_TRGTTIML1, ts.tv_nsec);
wr32(E1000_TRGTTIMH1, (u32)ts.tv_sec);
tsauxc = rd32(E1000_TSAUXC);
tsauxc |= TSAUXC_EN_TT1;
wr32(E1000_TSAUXC, tsauxc);
adapter->perout[1].start = ts;
spin_unlock(&adapter->tmreg_lock);
ack |= TSINTR_TT1;
}
if (tsicr & TSINTR_TT1)
igb_perout(adapter, 1);
if (tsicr & TSINTR_AUTT0) {
nsec = rd32(E1000_AUXSTMPL0);
sec = rd32(E1000_AUXSTMPH0);
event.type = PTP_CLOCK_EXTTS;
event.index = 0;
event.timestamp = sec * 1000000000ULL + nsec;
ptp_clock_event(adapter->ptp_clock, &event);
ack |= TSINTR_AUTT0;
}
if (tsicr & TSINTR_AUTT0)
igb_extts(adapter, 0);
if (tsicr & TSINTR_AUTT1) {
nsec = rd32(E1000_AUXSTMPL1);
sec = rd32(E1000_AUXSTMPH1);
event.type = PTP_CLOCK_EXTTS;
event.index = 1;
event.timestamp = sec * 1000000000ULL + nsec;
ptp_clock_event(adapter->ptp_clock, &event);
ack |= TSINTR_AUTT1;
}
/* acknowledge the interrupts */
wr32(E1000_TSICR, ack);
if (tsicr & TSINTR_AUTT1)
igb_extts(adapter, 1);
}
static irqreturn_t igb_msix_other(int irq, void *data)

View File

@@ -215,7 +215,7 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs,
struct metadata_dst *tun_dst = NULL;
struct pcpu_sw_netstats *stats;
unsigned int len;
int err = 0;
int nh, err = 0;
void *oiph;
if (ip_tunnel_collect_metadata() || gs->collect_md) {
@@ -259,9 +259,23 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs,
goto drop;
}
oiph = skb_network_header(skb);
/* Save offset of outer header relative to skb->head,
* because we are going to reset the network header to the inner header
* and might change skb->head.
*/
nh = skb_network_header(skb) - skb->head;
skb_reset_network_header(skb);
if (!pskb_inet_may_pull(skb)) {
DEV_STATS_INC(geneve->dev, rx_length_errors);
DEV_STATS_INC(geneve->dev, rx_errors);
goto drop;
}
/* Get the outer header. */
oiph = skb->head + nh;
if (geneve_get_sk_family(gs) == AF_INET)
err = IP_ECN_decapsulate(oiph, skb);
#if IS_ENABLED(CONFIG_IPV6)
@@ -834,7 +848,7 @@ static int geneve_xmit_skb(struct sk_buff *skb, struct net_device *dev,
__be16 df;
int err;
if (!pskb_network_may_pull(skb, sizeof(struct iphdr)))
if (!pskb_inet_may_pull(skb))
return -EINVAL;
sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true);
@@ -884,7 +898,7 @@ static int geneve6_xmit_skb(struct sk_buff *skb, struct net_device *dev,
__be16 sport;
int err;
if (!pskb_network_may_pull(skb, sizeof(struct ipv6hdr)))
if (!pskb_inet_may_pull(skb))
return -EINVAL;
sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true);

View File

@@ -2232,8 +2232,7 @@ static int netvsc_netdev_event(struct notifier_block *this,
return NOTIFY_DONE;
/* Avoid Bonding master dev with same MAC registering as VF */
if ((event_dev->priv_flags & IFF_BONDING) &&
(event_dev->flags & IFF_MASTER))
if (netif_is_bond_master(event_dev))
return NOTIFY_DONE;
switch (event) {

View File

@@ -59,12 +59,6 @@
#include <net/net_namespace.h>
#include <linux/u64_stats_sync.h>
struct pcpu_lstats {
u64 packets;
u64 bytes;
struct u64_stats_sync syncp;
};
/* The higher levels take care of making this non-reentrant (it's
* called with bh's disabled).
*/

View File

@@ -6,12 +6,6 @@
#include <linux/if_arp.h>
#include <net/rtnetlink.h>
struct pcpu_lstats {
u64 packets;
u64 bytes;
struct u64_stats_sync syncp;
};
static netdev_tx_t nlmon_xmit(struct sk_buff *skb, struct net_device *dev)
{
int len = skb->len;

File diff suppressed because it is too large Load Diff

View File

@@ -737,7 +737,9 @@ static int sr9800_bind(struct usbnet *dev, struct usb_interface *intf)
data->eeprom_len = SR9800_EEPROM_LEN;
usbnet_get_endpoints(dev, intf);
ret = usbnet_get_endpoints(dev, intf);
if (ret)
goto out;
/* LED Setting Rule :
* AABB:CCDD

View File

@@ -11,12 +11,6 @@
#define DEFAULT_MTU (VIRTIO_VSOCK_MAX_PKT_BUF_SIZE + \
sizeof(struct af_vsockmon_hdr))
struct pcpu_lstats {
u64 rx_packets;
u64 rx_bytes;
struct u64_stats_sync syncp;
};
static int vsockmon_dev_init(struct net_device *dev)
{
dev->lstats = netdev_alloc_pcpu_stats(struct pcpu_lstats);
@@ -56,8 +50,8 @@ static netdev_tx_t vsockmon_xmit(struct sk_buff *skb, struct net_device *dev)
struct pcpu_lstats *stats = this_cpu_ptr(dev->lstats);
u64_stats_update_begin(&stats->syncp);
stats->rx_bytes += len;
stats->rx_packets++;
stats->bytes += len;
stats->packets++;
u64_stats_update_end(&stats->syncp);
dev_kfree_skb(skb);
@@ -80,8 +74,8 @@ vsockmon_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats)
do {
start = u64_stats_fetch_begin_irq(&vstats->syncp);
tbytes = vstats->rx_bytes;
tpackets = vstats->rx_packets;
tbytes = vstats->bytes;
tpackets = vstats->packets;
} while (u64_stats_fetch_retry_irq(&vstats->syncp, start));
packets += tpackets;

View File

@@ -1082,6 +1082,22 @@ static inline bool b43_using_pio_transfers(struct b43_wldev *dev)
return dev->__using_pio_transfers;
}
static inline void b43_wake_queue(struct b43_wldev *dev, int queue_prio)
{
if (dev->qos_enabled)
ieee80211_wake_queue(dev->wl->hw, queue_prio);
else
ieee80211_wake_queue(dev->wl->hw, 0);
}
static inline void b43_stop_queue(struct b43_wldev *dev, int queue_prio)
{
if (dev->qos_enabled)
ieee80211_stop_queue(dev->wl->hw, queue_prio);
else
ieee80211_stop_queue(dev->wl->hw, 0);
}
/* Message printing */
__printf(2, 3) void b43info(struct b43_wl *wl, const char *fmt, ...);
__printf(2, 3) void b43err(struct b43_wl *wl, const char *fmt, ...);

View File

@@ -1461,8 +1461,8 @@ int b43_dma_tx(struct b43_wldev *dev, struct sk_buff *skb)
should_inject_overflow(ring)) {
/* This TX ring is full. */
unsigned int skb_mapping = skb_get_queue_mapping(skb);
ieee80211_stop_queue(dev->wl->hw, skb_mapping);
dev->wl->tx_queue_stopped[skb_mapping] = 1;
b43_stop_queue(dev, skb_mapping);
dev->wl->tx_queue_stopped[skb_mapping] = true;
ring->stopped = true;
if (b43_debug(dev, B43_DBG_DMAVERBOSE)) {
b43dbg(dev->wl, "Stopped TX ring %d\n", ring->index);
@@ -1626,11 +1626,11 @@ void b43_dma_handle_txstatus(struct b43_wldev *dev,
}
if (dev->wl->tx_queue_stopped[ring->queue_prio]) {
dev->wl->tx_queue_stopped[ring->queue_prio] = 0;
dev->wl->tx_queue_stopped[ring->queue_prio] = false;
} else {
/* If the driver queue is running wake the corresponding
* mac80211 queue. */
ieee80211_wake_queue(dev->wl->hw, ring->queue_prio);
b43_wake_queue(dev, ring->queue_prio);
if (b43_debug(dev, B43_DBG_DMAVERBOSE)) {
b43dbg(dev->wl, "Woke up TX ring %d\n", ring->index);
}

View File

@@ -2605,7 +2605,8 @@ static void b43_request_firmware(struct work_struct *work)
start_ieee80211:
wl->hw->queues = B43_QOS_QUEUE_NUM;
if (!modparam_qos || dev->fw.opensource)
if (!modparam_qos || dev->fw.opensource ||
dev->dev->chip_id == BCMA_CHIP_ID_BCM4331)
wl->hw->queues = 1;
err = ieee80211_register_hw(wl->hw);
@@ -3625,8 +3626,8 @@ static void b43_tx_work(struct work_struct *work)
else
err = b43_dma_tx(dev, skb);
if (err == -ENOSPC) {
wl->tx_queue_stopped[queue_num] = 1;
ieee80211_stop_queue(wl->hw, queue_num);
wl->tx_queue_stopped[queue_num] = true;
b43_stop_queue(dev, queue_num);
skb_queue_head(&wl->tx_queue[queue_num], skb);
break;
}
@@ -3636,7 +3637,7 @@ static void b43_tx_work(struct work_struct *work)
}
if (!err)
wl->tx_queue_stopped[queue_num] = 0;
wl->tx_queue_stopped[queue_num] = false;
}
#if B43_DEBUG
@@ -3650,6 +3651,7 @@ static void b43_op_tx(struct ieee80211_hw *hw,
struct sk_buff *skb)
{
struct b43_wl *wl = hw_to_b43_wl(hw);
u16 skb_queue_mapping;
if (unlikely(skb->len < 2 + 2 + 6)) {
/* Too short, this can't be a valid frame. */
@@ -3658,12 +3660,12 @@ static void b43_op_tx(struct ieee80211_hw *hw,
}
B43_WARN_ON(skb_shinfo(skb)->nr_frags);
skb_queue_tail(&wl->tx_queue[skb->queue_mapping], skb);
if (!wl->tx_queue_stopped[skb->queue_mapping]) {
skb_queue_mapping = skb_get_queue_mapping(skb);
skb_queue_tail(&wl->tx_queue[skb_queue_mapping], skb);
if (!wl->tx_queue_stopped[skb_queue_mapping])
ieee80211_queue_work(wl->hw, &wl->tx_work);
} else {
ieee80211_stop_queue(wl->hw, skb->queue_mapping);
}
else
b43_stop_queue(wl->current_dev, skb_queue_mapping);
}
static void b43_qos_params_upload(struct b43_wldev *dev,
@@ -5630,7 +5632,7 @@ static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)
/* Initialize queues and flags. */
for (queue_num = 0; queue_num < B43_QOS_QUEUE_NUM; queue_num++) {
skb_queue_head_init(&wl->tx_queue[queue_num]);
wl->tx_queue_stopped[queue_num] = 0;
wl->tx_queue_stopped[queue_num] = false;
}
snprintf(chip_name, ARRAY_SIZE(chip_name),

View File

@@ -538,7 +538,7 @@ int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
if (total_len > (q->buffer_size - q->buffer_used)) {
/* Not enough memory on the queue. */
err = -EBUSY;
ieee80211_stop_queue(dev->wl->hw, skb_get_queue_mapping(skb));
b43_stop_queue(dev, skb_get_queue_mapping(skb));
q->stopped = true;
goto out;
}
@@ -565,7 +565,7 @@ int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
if (((q->buffer_size - q->buffer_used) < roundup(2 + 2 + 6, 4)) ||
(q->free_packet_slots == 0)) {
/* The queue is full. */
ieee80211_stop_queue(dev->wl->hw, skb_get_queue_mapping(skb));
b43_stop_queue(dev, skb_get_queue_mapping(skb));
q->stopped = true;
}
@@ -600,7 +600,7 @@ void b43_pio_handle_txstatus(struct b43_wldev *dev,
list_add(&pack->list, &q->packets_list);
if (q->stopped) {
ieee80211_wake_queue(dev->wl->hw, q->queue_prio);
b43_wake_queue(dev, q->queue_prio);
q->stopped = false;
}
}

View File

@@ -394,8 +394,9 @@ struct shared_phy *wlc_phy_shared_attach(struct shared_phy_params *shp)
return sh;
}
static void wlc_phy_timercb_phycal(struct brcms_phy *pi)
static void wlc_phy_timercb_phycal(void *ptr)
{
struct brcms_phy *pi = ptr;
uint delay = 5;
if (PHY_PERICAL_MPHASE_PENDING(pi)) {

View File

@@ -57,12 +57,11 @@ void wlc_phy_shim_detach(struct phy_shim_info *physhim)
}
struct wlapi_timer *wlapi_init_timer(struct phy_shim_info *physhim,
void (*fn)(struct brcms_phy *pi),
void (*fn)(void *pi),
void *arg, const char *name)
{
return (struct wlapi_timer *)
brcms_init_timer(physhim->wl, (void (*)(void *))fn,
arg, name);
brcms_init_timer(physhim->wl, fn, arg, name);
}
void wlapi_free_timer(struct wlapi_timer *t)

View File

@@ -131,7 +131,7 @@ void wlc_phy_shim_detach(struct phy_shim_info *physhim);
/* PHY to WL utility functions */
struct wlapi_timer *wlapi_init_timer(struct phy_shim_info *physhim,
void (*fn)(struct brcms_phy *pi),
void (*fn)(void *pi),
void *arg, const char *name);
void wlapi_free_timer(struct wlapi_timer *t);
void wlapi_add_timer(struct wlapi_timer *t, uint ms, int periodic);

View File

@@ -1132,7 +1132,7 @@ int lbs_allocate_cmd_buffer(struct lbs_private *priv)
if (!cmdarray[i].cmdbuf) {
lbs_deb_host("ALLOC_CMD_BUF: ptempvirtualaddr is NULL\n");
ret = -1;
goto done;
goto free_cmd_array;
}
}
@@ -1140,8 +1140,17 @@ int lbs_allocate_cmd_buffer(struct lbs_private *priv)
init_waitqueue_head(&cmdarray[i].cmdwait_q);
lbs_cleanup_and_insert_cmd(priv, &cmdarray[i]);
}
ret = 0;
return 0;
free_cmd_array:
for (i = 0; i < LBS_NUM_CMD_BUFFERS; i++) {
if (cmdarray[i].cmdbuf) {
kfree(cmdarray[i].cmdbuf);
cmdarray[i].cmdbuf = NULL;
}
}
kfree(priv->cmd_array);
priv->cmd_array = NULL;
done:
return ret;
}

View File

@@ -1001,9 +1001,6 @@ mwifiex_dev_debugfs_init(struct mwifiex_private *priv)
priv->dfs_dev_dir = debugfs_create_dir(priv->netdev->name,
mwifiex_dfs_dir);
if (!priv->dfs_dev_dir)
return;
MWIFIEX_DFS_ADD_FILE(info);
MWIFIEX_DFS_ADD_FILE(debug);
MWIFIEX_DFS_ADD_FILE(getlog);

View File

@@ -5102,6 +5102,7 @@ static void quirk_no_ext_tags(struct pci_dev *pdev)
pci_walk_bus(bridge->bus, pci_configure_extended_tags, NULL);
}
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_3WARE, 0x1004, quirk_no_ext_tags);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0132, quirk_no_ext_tags);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0140, quirk_no_ext_tags);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0141, quirk_no_ext_tags);

View File

@@ -1717,14 +1717,15 @@ config RTC_DRV_MOXART
will be called rtc-moxart
config RTC_DRV_MT6397
tristate "Mediatek Real Time Clock driver"
depends on MFD_MT6397 || (COMPILE_TEST && IRQ_DOMAIN)
tristate "MediaTek PMIC based RTC"
depends on MFD_MT6397 || COMPILE_TEST
select IRQ_DOMAIN
help
This selects the Mediatek(R) RTC driver. RTC is part of Mediatek
This selects the MediaTek(R) RTC driver. RTC is part of MediaTek
MT6397 PMIC. You should enable MT6397 PMIC MFD before select
Mediatek(R) RTC driver.
MediaTek(R) RTC driver.
If you want to use Mediatek(R) RTC interface, select Y or M here.
If you want to use MediaTek(R) RTC interface, select Y or M here.
config RTC_DRV_XGENE
tristate "APM X-Gene RTC"

View File

@@ -28,7 +28,6 @@
struct bfa_s;
typedef void (*bfa_isr_func_t) (struct bfa_s *bfa, struct bfi_msg_s *m);
typedef void (*bfa_cb_cbfn_status_t) (void *cbarg, bfa_status_t status);
/*
* Interrupt message handlers
@@ -446,4 +445,12 @@ struct bfa_cb_pending_q_s {
(__qe)->data = (__data); \
} while (0)
#define bfa_pending_q_init_status(__qe, __cbfn, __cbarg, __data) do { \
bfa_q_qe_init(&((__qe)->hcb_qe.qe)); \
(__qe)->hcb_qe.cbfn_status = (__cbfn); \
(__qe)->hcb_qe.cbarg = (__cbarg); \
(__qe)->hcb_qe.pre_rmv = BFA_TRUE; \
(__qe)->data = (__data); \
} while (0)
#endif /* __BFA_H__ */

View File

@@ -1915,15 +1915,13 @@ bfa_comp_process(struct bfa_s *bfa, struct list_head *comp_q)
struct list_head *qe;
struct list_head *qen;
struct bfa_cb_qe_s *hcb_qe;
bfa_cb_cbfn_status_t cbfn;
list_for_each_safe(qe, qen, comp_q) {
hcb_qe = (struct bfa_cb_qe_s *) qe;
if (hcb_qe->pre_rmv) {
/* qe is invalid after return, dequeue before cbfn() */
list_del(qe);
cbfn = (bfa_cb_cbfn_status_t)(hcb_qe->cbfn);
cbfn(hcb_qe->cbarg, hcb_qe->fw_status);
hcb_qe->cbfn_status(hcb_qe->cbarg, hcb_qe->fw_status);
} else
hcb_qe->cbfn(hcb_qe->cbarg, BFA_TRUE);
}

View File

@@ -369,14 +369,18 @@ struct bfa_reqq_wait_s {
void *cbarg;
};
typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete);
typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete);
typedef void (*bfa_cb_cbfn_status_t) (void *cbarg, bfa_status_t status);
/*
* Generic BFA callback element.
*/
struct bfa_cb_qe_s {
struct list_head qe;
bfa_cb_cbfn_t cbfn;
union {
bfa_cb_cbfn_status_t cbfn_status;
bfa_cb_cbfn_t cbfn;
};
bfa_boolean_t once;
bfa_boolean_t pre_rmv; /* set for stack based qe(s) */
bfa_status_t fw_status; /* to access fw status in comp proc */

View File

@@ -2145,8 +2145,7 @@ bfad_iocmd_fcport_get_stats(struct bfad_s *bfad, void *cmd)
struct bfa_cb_pending_q_s cb_qe;
init_completion(&fcomp.comp);
bfa_pending_q_init(&cb_qe, (bfa_cb_cbfn_t)bfad_hcb_comp,
&fcomp, &iocmd->stats);
bfa_pending_q_init_status(&cb_qe, bfad_hcb_comp, &fcomp, &iocmd->stats);
spin_lock_irqsave(&bfad->bfad_lock, flags);
iocmd->status = bfa_fcport_get_stats(&bfad->bfa, &cb_qe);
spin_unlock_irqrestore(&bfad->bfad_lock, flags);
@@ -2169,7 +2168,7 @@ bfad_iocmd_fcport_reset_stats(struct bfad_s *bfad, void *cmd)
struct bfa_cb_pending_q_s cb_qe;
init_completion(&fcomp.comp);
bfa_pending_q_init(&cb_qe, (bfa_cb_cbfn_t)bfad_hcb_comp, &fcomp, NULL);
bfa_pending_q_init_status(&cb_qe, bfad_hcb_comp, &fcomp, NULL);
spin_lock_irqsave(&bfad->bfad_lock, flags);
iocmd->status = bfa_fcport_clear_stats(&bfad->bfa, &cb_qe);
@@ -2453,8 +2452,7 @@ bfad_iocmd_qos_get_stats(struct bfad_s *bfad, void *cmd)
struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
init_completion(&fcomp.comp);
bfa_pending_q_init(&cb_qe, (bfa_cb_cbfn_t)bfad_hcb_comp,
&fcomp, &iocmd->stats);
bfa_pending_q_init_status(&cb_qe, bfad_hcb_comp, &fcomp, &iocmd->stats);
spin_lock_irqsave(&bfad->bfad_lock, flags);
WARN_ON(!bfa_ioc_get_fcmode(&bfad->bfa.ioc));
@@ -2484,8 +2482,7 @@ bfad_iocmd_qos_reset_stats(struct bfad_s *bfad, void *cmd)
struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
init_completion(&fcomp.comp);
bfa_pending_q_init(&cb_qe, (bfa_cb_cbfn_t)bfad_hcb_comp,
&fcomp, NULL);
bfa_pending_q_init_status(&cb_qe, bfad_hcb_comp, &fcomp, NULL);
spin_lock_irqsave(&bfad->bfad_lock, flags);
WARN_ON(!bfa_ioc_get_fcmode(&bfad->bfa.ioc));

View File

@@ -73,7 +73,21 @@ csio_list_deleted(struct list_head *list)
#define csio_list_prev(elem) (((struct list_head *)(elem))->prev)
/* State machine */
typedef void (*csio_sm_state_t)(void *, uint32_t);
struct csio_lnode;
/* State machine evets */
enum csio_ln_ev {
CSIO_LNE_NONE = (uint32_t)0,
CSIO_LNE_LINKUP,
CSIO_LNE_FAB_INIT_DONE,
CSIO_LNE_LINK_DOWN,
CSIO_LNE_DOWN_LINK,
CSIO_LNE_LOGO,
CSIO_LNE_CLOSE,
CSIO_LNE_MAX_EVENT,
};
typedef void (*csio_sm_state_t)(struct csio_lnode *ln, enum csio_ln_ev evt);
struct csio_sm {
struct list_head sm_list;
@@ -83,7 +97,7 @@ struct csio_sm {
static inline void
csio_set_state(void *smp, void *state)
{
((struct csio_sm *)smp)->sm_state = (csio_sm_state_t)state;
((struct csio_sm *)smp)->sm_state = state;
}
static inline void

View File

@@ -1087,7 +1087,7 @@ csio_handle_link_down(struct csio_hw *hw, uint8_t portid, uint32_t fcfi,
int
csio_is_lnode_ready(struct csio_lnode *ln)
{
return (csio_get_state(ln) == ((csio_sm_state_t)csio_lns_ready));
return (csio_get_state(ln) == csio_lns_ready);
}
/*****************************************************************************/
@@ -1359,15 +1359,15 @@ csio_free_fcfinfo(struct kref *kref)
void
csio_lnode_state_to_str(struct csio_lnode *ln, int8_t *str)
{
if (csio_get_state(ln) == ((csio_sm_state_t)csio_lns_uninit)) {
if (csio_get_state(ln) == csio_lns_uninit) {
strcpy(str, "UNINIT");
return;
}
if (csio_get_state(ln) == ((csio_sm_state_t)csio_lns_ready)) {
if (csio_get_state(ln) == csio_lns_ready) {
strcpy(str, "READY");
return;
}
if (csio_get_state(ln) == ((csio_sm_state_t)csio_lns_offline)) {
if (csio_get_state(ln) == csio_lns_offline) {
strcpy(str, "OFFLINE");
return;
}

View File

@@ -53,19 +53,6 @@
extern int csio_fcoe_rnodes;
extern int csio_fdmi_enable;
/* State machine evets */
enum csio_ln_ev {
CSIO_LNE_NONE = (uint32_t)0,
CSIO_LNE_LINKUP,
CSIO_LNE_FAB_INIT_DONE,
CSIO_LNE_LINK_DOWN,
CSIO_LNE_DOWN_LINK,
CSIO_LNE_LOGO,
CSIO_LNE_CLOSE,
CSIO_LNE_MAX_EVENT,
};
struct csio_fcf_info {
struct list_head list;
uint8_t priority;

View File

@@ -4392,7 +4392,9 @@ _base_wait_for_iocstate(struct MPT3SAS_ADAPTER *ioc, int timeout)
return -EFAULT;
}
issue_diag_reset:
return 0;
issue_diag_reset:
rc = _base_diag_reset(ioc);
return rc;
}

Some files were not shown because too many files have changed in this diff Show More