mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
Merge branch 'linux-4.14.y' of https://github.com/openela/kernel-lts
* 'linux-4.14.y' of https://github.com/openela/kernel-lts: (133 commits) LTS: Update to 4.14.350 SUNRPC: Fix RPC client cleaned up the freed pipefs dentries arm64: dts: rockchip: Add sound-dai-cells for RK3368 tcp: Fix data races around icsk->icsk_af_ops. ipv6: Fix data races around sk->sk_prot. ipv6: annotate some data-races around sk->sk_prot pwm: stm32: Refuse too small period requests ftruncate: pass a signed offset batman-adv: Don't accept TT entries for out-of-spec VIDs batman-adv: include gfp.h for GFP_* defines drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes hexagon: fix fadvise64_64 calling conventions tty: mcf: MCF54418 has 10 UARTS usb: atm: cxacru: fix endpoint checking in cxacru_bind() usb: musb: da8xx: fix a resource leak in probe() usb: gadget: printer: SS+ support net: usb: ax88179_178a: improve link status logs iio: adc: ad7266: Fix variable checking bug mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos ... Change-Id: I0ab862e0932a48f13c64657e5456f3034b766445 Signed-off-by: Richard Raya <rdxzv.dev@gmail.com>
This commit is contained in:
commit
15a5216c8c
@ -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.316
|
||||
version: 4.14.349
|
||||
upstream_version: 4.19.317
|
||||
version: 4.14.350
|
||||
|
506
.elts/meta/4.14.350.yaml
Normal file
506
.elts/meta/4.14.350.yaml
Normal file
@ -0,0 +1,506 @@
|
||||
037ba8c484cfe176665b4bdb735a62d8cc7b1b9a:
|
||||
title: 'Revert "scsi: target: Fix SELinux error when systemd-modules loads the target module"'
|
||||
378cd84450603623545e9b29cac5445b188b6c0c:
|
||||
title: 'Revert "tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets"'
|
||||
2e31c6f2136246110bfbd82c25ec9ecbf4169729:
|
||||
title: 'Revert "tcp: remove redundant check on tskb"'
|
||||
9dd807b0452a622f5a5547b451eda30befa3d61d:
|
||||
title: 'tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets'
|
||||
mainline: 94062790aedb505bdda209b10bea47b294d6394f
|
||||
a57e28b291e0ad50d1c6ceba6a7cb556fdf1faf6:
|
||||
title: 'wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects'
|
||||
mainline: b7d7f11a291830fdf69d3301075dd0fb347ced84
|
||||
upstream: 377dbb220edc8421b7960691876c5b3bef62f89b
|
||||
9feb2600c4ba32c9fb136d7b5e16ca06c853ea8c:
|
||||
title: 'wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup()'
|
||||
mainline: 44c06bbde6443de206b30f513100b5670b23fc5e
|
||||
upstream: e51637e0c66a6f72d134d9f95daa47ea62b43c7e
|
||||
79e590b3651e9074489976e737e7fc1255a6cd79:
|
||||
title: 'wifi: iwlwifi: mvm: don''t read past the mfuart notifcation'
|
||||
mainline: 4bb95f4535489ed830cf9b34b0a891e384d1aee4
|
||||
upstream: 15b37c6fab9d5e40ac399fa1c725118588ed649c
|
||||
9ba19e227817b86f1032cc551912a049b62ba7e6:
|
||||
title: 'ipv6: sr: block BH in seg6_output_core() and seg6_input_core()'
|
||||
mainline: c0b98ac1cc104f48763cdb27b1e9ac25fd81fc90
|
||||
upstream: 6330fe95e59bc1de5ad3ebd89e379d785c7c6fc0
|
||||
7c79a301b097797b8edd46b11a888a287e281f98:
|
||||
title: 'vxlan: Fix regression when dropping packets due to invalid src addresses'
|
||||
mainline: 1cd4bc987abb2823836cbb8f887026011ccddc8a
|
||||
upstream: ddd44dc20554c38450204df47f8422c7fec78f2d
|
||||
54f3a87336ada67c8a8da26f7575d12c5ca85bfb:
|
||||
title: 'tcp: count CLOSE-WAIT sockets for TCP_MIB_CURRESTAB'
|
||||
mainline: a46d0ea5c94205f40ecf912d1bb7806a8a64704f
|
||||
upstream: 25dec34bfd770f444409b3228f90f64feb6804f6
|
||||
7a5ce9a4d73421a553e354ee6eb5de1a3bffeae5:
|
||||
title: 'ptp: Fix error message on failed pin verification'
|
||||
mainline: 323a359f9b077f382f4483023d096a4d316fd135
|
||||
upstream: e468462fe0efdd233b6fd7b978e9911bb1eb8614
|
||||
4d194b485b1878813b072bc174b6443164b96fb1:
|
||||
title: 'af_unix: ensure POLLOUT on remote close() for connected dgram socket'
|
||||
003de6abbdca3c2d230bd4ce3adc752b5eb4982c:
|
||||
title: 'af_unix: Fix a data-race in unix_dgram_peer_wake_me().'
|
||||
mainline: 662a80946ce13633ae90a55379f1346c10f0c432
|
||||
4379c4db8fa9f7d4adfdf7256277c96ac968a690:
|
||||
title: 'af_unix: Annotate data-race of sk->sk_state in unix_inq_len().'
|
||||
mainline: 3a0f38eb285c8c2eead4b3230c7ac2983707599d
|
||||
upstream: 5c91a2f308cabf7cc0e30997455ac15926199987
|
||||
03b7c75271f457de1fc83095624428cd9ef74db4:
|
||||
title: 'af_unix: Fix data races around sk->sk_shutdown.'
|
||||
mainline: e1d09c2c2f5793474556b60f83900e088d0d366d
|
||||
089da5e3914abb4806b03eff85aeb895c0ab860b:
|
||||
title: 'af_unix: Annotate data-races around sk->sk_state in unix_write_space() and poll().'
|
||||
mainline: eb0718fb3e97ad0d6f4529b810103451c90adf94
|
||||
upstream: 6b4dffb64e98b9eacc7c214056146d32642f7e8a
|
||||
c6f96daa0536f49a7d624196dbc3defc536eacdb:
|
||||
title: 'af_unix: Annotate data-races around sk->sk_state in sendmsg() and recvmsg().'
|
||||
mainline: 8a34d4e8d9742a24f74998f45a6a98edd923319b
|
||||
upstream: 7cd9dd08be2482bd1015642b61d97a187af5a774
|
||||
cab04acca50227f3f27fb5616bee123fea171762:
|
||||
title: 'af_unix: Annotate data-races around sk->sk_state in UNIX_DIAG.'
|
||||
mainline: 0aa3be7b3e1f8f997312cc4705f8165e02806f8f
|
||||
upstream: 123d798351c96a15456478558fccac0eb766f26d
|
||||
98e2f1cec1532524595d79af5c86ed370debd735:
|
||||
title: 'af_unix: Annotate data-race of net->unx.sysctl_max_dgram_qlen.'
|
||||
mainline: bd9f2d05731f6a112d0c7391a0d537bfc588dbe6
|
||||
upstream: f5cf5e139ec736f1ac18cda8d5e5fc80d7eef787
|
||||
15baad6e966a2478052b6e2efd0153a9e9a9e0c2:
|
||||
title: 'af_unix: Use unix_recvq_full_lockless() in unix_stream_connect().'
|
||||
mainline: 45d872f0e65593176d880ec148f41ad7c02e40a7
|
||||
upstream: b56ff0d20a4a60b9e6424d0609acccbbde573ea8
|
||||
a8d1038ecf162678372a6f5686eabbf0c070ec91:
|
||||
title: 'af_unix: Use skb_queue_len_lockless() in sk_diag_show_rqlen().'
|
||||
mainline: 5d915e584d8408211d4567c22685aae8820bfc55
|
||||
upstream: 141826272a2cd16436f9b6c241cf88b72feddb3b
|
||||
669958a2bdd8b94c6bbe1df7c83feae7b844afb3:
|
||||
title: 'af_unix: Annotate data-race of sk->sk_shutdown in sk_diag_fill().'
|
||||
mainline: efaf24e30ec39ebbea9112227485805a48b0ceb1
|
||||
upstream: 9c2d206ddc697595ceb0e8e356c64f9e845a0c2f
|
||||
77067622d8f27240f3e5438767cce7317f8b9c34:
|
||||
title: 'usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete'
|
||||
mainline: 24729b307eefcd7c476065cd7351c1a018082c19
|
||||
upstream: f71a53148ce34898fef099b75386a3a9f4449311
|
||||
6c20d50e094e8b67aab06f29f7e97351bbfef601:
|
||||
title: 'serial: sc16is7xx: replace hardcoded divisor value with BIT() macro'
|
||||
mainline: 2e57cefc4477659527f7adab1f87cdbf60ef1ae6
|
||||
upstream: 9dcb6eb967fe778d1d985a709ac4030895603fc0
|
||||
f966c6e6aa0166c853782a705ae5389f8c6b24e7:
|
||||
title: 'serial: sc16is7xx: fix bug in sc16is7xx_set_baud() when using prescaler'
|
||||
mainline: 8492bd91aa055907c67ef04f2b56f6dadd1f44bf
|
||||
upstream: 2b14e818ef3e49741ee60a317554222c6af3a800
|
||||
41d740fdbcb6d45f86ec6cd7238ba2ca38df8824:
|
||||
title: 'media: mc: mark the media devnode as registered from the, start'
|
||||
mainline: 4bc60736154bc9e0e39d3b88918f5d3762ebe5e0
|
||||
upstream: d3f6dc1155a09bc2c212b734c3ff01a046490e92
|
||||
fe9a3e689a0275a21eae214693dd7ddbdbb63cec:
|
||||
title: 'selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages'
|
||||
mainline: 9ad665ef55eaad1ead1406a58a34f615a7c18b5e
|
||||
upstream: 62b71327cf1af11ceb4a3f53ebf0c85cb9ad3db8
|
||||
75614587972465759b313027993c87e60eeb446f:
|
||||
title: 'selftests/mm: conform test to TAP format output'
|
||||
mainline: 9a21701edc41465de56f97914741bfb7bfc2517d
|
||||
upstream: 4a4f88dcf8b688db0cf527362ebf4db0d272a3f6
|
||||
6132af7d247da481d1f4e99c91f5fdc29961bce3:
|
||||
title: 'selftests/mm: compaction_test: fix bogus test success on Aarch64'
|
||||
mainline: d4202e66a4b1fe6968f17f9f09bbc30d08f028a1
|
||||
upstream: 4d5f7ab71a24f17311d361f47c61cc49064e1dd0
|
||||
71bf6edd5d5c1384f56efcc445146a367f1e7c38:
|
||||
title: 'nilfs2: Remove check for PageError'
|
||||
mainline: 79ea65563ad8aaab309d61eeb4d5019dd6cf5fa0
|
||||
upstream: c158e493640ce76e76241f0529cebe19770ba5b2
|
||||
52c1c33e0dafbe82538c326d4a6144544e9501f4:
|
||||
title: 'nilfs2: return the mapped address from nilfs_get_page()'
|
||||
mainline: 09a46acb3697e50548bb265afa1d79163659dd85
|
||||
upstream: 7ed62ec616a3441aa3859150d50fadf5fd117aa8
|
||||
c5682abd08cb2a8960de840d00ce1efc5066286e:
|
||||
title: 'nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors'
|
||||
mainline: 7373a51e7998b508af7136530f3a997b286ce81c
|
||||
upstream: 2ac8a2fe22bdde9eecce2a42cf5cab79333fb428
|
||||
ac2c307a0180583e260719f923ba2edabddea919:
|
||||
title: 'USB: class: cdc-wdm: Fix CPU lockup caused by excessive log messages'
|
||||
mainline: 22f00812862564b314784167a89f27b444f82a46
|
||||
upstream: 217d1f44fff560b3995a685a60aa66e55a7f0f56
|
||||
6f5dcde17cd2c15cb9812b4441ab1ba7088ccf0c:
|
||||
title: 'mei: me: release irq in mei_me_pci_resume error path'
|
||||
mainline: 283cb234ef95d94c61f59e1cd070cd9499b51292
|
||||
upstream: 83c2321411d8bb8f832dbb482ea3387ac1322542
|
||||
79cb0bb1b0e2cbed9eaec6f1fb7ce81baf278a39:
|
||||
title: 'jfs: xattr: fix buffer overflow for invalid xattr'
|
||||
mainline: 7c55b78818cfb732680c4a72ab270cc2d2ee3d0f
|
||||
upstream: f0dedb5c511ed82cbaff4997a8decf2351ba549f
|
||||
b8b14f255f86c39eee93bc4fbc4c8f6c3f9da875:
|
||||
title: 'xhci: Apply reset resume quirk to Etron EJ188 xHCI host'
|
||||
mainline: 17bd54555c2aaecfdb38e2734149f684a73fa584
|
||||
upstream: a2ddc0475c4c6fff5b9eac0e0eb4726640925e1b
|
||||
41c568e13eb14e46c634292e403a4652603b2d46:
|
||||
title: 'xhci: Apply broken streams quirk to Etron EJ188 xHCI host'
|
||||
mainline: 91f7a1524a92c70ffe264db8bdfa075f15bbbeb9
|
||||
upstream: 5c08d8bcc6f20965d665a6122a3fe60eba042e74
|
||||
abe1fafad8d912b27028e91a0040650149ab4ab8:
|
||||
title: 'Input: try trimming too long modalias strings'
|
||||
mainline: 0774d19038c496f0c3602fb505c43e1b2d8eed85
|
||||
upstream: d9bbbbf1a2cac25fafa44ba09d2ab8f5365c0a06
|
||||
c0be0c4967c8b988f9603c7b7cecc01379071c67:
|
||||
title: 'HID: core: remove unnecessary WARN_ON() in implement()'
|
||||
mainline: 4aa2dcfbad538adf7becd0034a3754e1bd01b2b5
|
||||
upstream: 955b3764671f3f157215194972d9c01a3a4bd316
|
||||
2cb6663051a21277c7bdf9695ad8a04fc6a5dc7a:
|
||||
title: 'iommu/amd: Fix sysfs leak in iommu init'
|
||||
mainline: a295ec52c8624883885396fde7b4df1a179627c3
|
||||
upstream: 7f66540fcf6f8f66784f739c33f79d2889e95106
|
||||
b4722a9d958fe8bd54d0358650bf07b11ab91d4b:
|
||||
title: 'drm/bridge/panel: Fix runtime warning on panel bridge release'
|
||||
mainline: ce62600c4dbee8d43b02277669dd91785a9b81d9
|
||||
upstream: 3e0daaf28639c6fd22e96eb2f8772ad40e922ee7
|
||||
291c8c1e9e291262f9179c0ba5cef2e49df4f142:
|
||||
title: 'tcp: fix race in tcp_v6_syn_recv_sock()'
|
||||
mainline: d37fe4255abe8e7b419b90c5847e8ec2b8debb08
|
||||
upstream: 06f208ae0670ef97b0bf253a5523863e113026b6
|
||||
9ae3694d9677f29e0d8e5bbb86841f69baae279d:
|
||||
title: 'Bluetooth: L2CAP: Fix rejecting L2CAP_CONN_PARAM_UPDATE_REQ'
|
||||
mainline: 806a5198c05987b748b50f3d0c0cfb3d417381a4
|
||||
upstream: a1f9c8328219b9bb2c29846d6c74ea981e60b5a7
|
||||
fab190e5fcd0466de646405bf49ca7017bbdca31:
|
||||
title: 'ipv6/route: Add a missing check on proc_dointvec'
|
||||
mainline: f0fb9b288d0a7e9cc324ae362e2dfd2cc2217ded
|
||||
upstream: f00c343be6f25a6a3736fd6b332c918da57d81d8
|
||||
04f57a8a33fef04d61ba56f8b4e830fe0cebc8f2:
|
||||
title: 'net/ipv6: Fix the RT cache flush via sysctl using a previous delay'
|
||||
mainline: 14a20e5b4ad998793c5f43b0330d9e1388446cf3
|
||||
upstream: ebde6e8a52c68dc45b4ae354e279ba74788579e7
|
||||
82d942edbd8b21acbacd1d16eb3cb52d47404384:
|
||||
title: 'drivers: core: synchronize really_probe() and dev_uevent()'
|
||||
mainline: c0a40097f0bc81deafc15f9195d1fb54595cd6d0
|
||||
upstream: bb3641a5831789d83a58a39ed4a928bcbece7080
|
||||
126c475927adda67084f403fee8ec76a853b70fc:
|
||||
title: 'drm/exynos/vidi: fix memory leak in .get_modes()'
|
||||
mainline: 38e3825631b1f314b21e3ade00b5a4d737eb054e
|
||||
upstream: 540ca99729e28dbe902b01039a3b4bd74520a819
|
||||
37026b40b51170c1f9b052ef1b1cd19ec815c566:
|
||||
title: 'vmci: prevent speculation leaks by sanitizing event in event_deliver()'
|
||||
mainline: 8003f00d895310d409b2bf9ef907c56b42a4e0f4
|
||||
upstream: 58730dfbd4ae01c1b022b0d234a8bf8c02cdfb81
|
||||
aaea44b590e4a5e853dcc48edbf8ffa6dc611490:
|
||||
title: 'fs/proc: fix softlockup in __read_vmcore'
|
||||
mainline: 5cbcb62dddf5346077feb82b7b0c9254222d3445
|
||||
upstream: 7bdf1d550ddfcd9ab797087421f77b7aceddc8a7
|
||||
c02663a1e56ea3793580a51e2ea012e198661ca1:
|
||||
title: 'ocfs2: use coarse time for new created files'
|
||||
mainline: b8cb324277ee16f3eca3055b96fce4735a5a41c6
|
||||
upstream: f882e853ea33c1e4f7107387f85879139682b720
|
||||
db16f074c58fb04ccb5efd329bd001b3769662b2:
|
||||
title: 'ocfs2: fix races between hole punching and AIO+DIO'
|
||||
mainline: 952b023f06a24b2ad6ba67304c4c84d45bea2f18
|
||||
upstream: 3c26b5d21b1239e9c7fd31ba7d9b2d7bdbaa68d9
|
||||
7932419ef19393d4fc9b05a04583d8c31c2785e3:
|
||||
title: 'dmaengine: axi-dmac: fix possible race in remove()'
|
||||
mainline: 1bc31444209c8efae98cb78818131950d9a6f4d6
|
||||
upstream: 5226e7062723bd5d4f1bd5e98ace7c1e6c015d57
|
||||
c2986a4fcfa961be763f68bb7c55ff808dcbbc63:
|
||||
title: 'intel_th: pci: Add Granite Rapids support'
|
||||
mainline: e44937889bdf4ecd1f0c25762b7226406b9b7a69
|
||||
upstream: 96185ee73d5cd28c2b19311c87536ffeeb653562
|
||||
fbda6dc2f8c85e96d6ae1f5243146a33e627ee9e:
|
||||
title: 'intel_th: pci: Add Granite Rapids SOC support'
|
||||
mainline: 854afe461b009801a171b3a49c5f75ea43e4c04c
|
||||
upstream: 04d47e1fd4e9a9b9c32e769b9106bbcbddeca756
|
||||
97c26585440f81fc3832759721964719ae7a4802:
|
||||
title: 'intel_th: pci: Add Sapphire Rapids SOC support'
|
||||
mainline: 2e1da7efabe05cb0cf0b358883b2bc89080ed0eb
|
||||
upstream: f9159b4706fc1eae09c37081f9a580673a4477ff
|
||||
0d4c32589468be6d7b8993e7576690004f50f5cc:
|
||||
title: 'intel_th: pci: Add Meteor Lake-S support'
|
||||
mainline: c4a30def564d75e84718b059d1a62cc79b137cf9
|
||||
upstream: 8af7cedc0edf1b9d3c29e2b72e7d643f64669ee4
|
||||
eac9744fef5c714c3201a0ab9c56e61ede318c29:
|
||||
title: 'intel_th: pci: Add Lunar Lake support'
|
||||
mainline: f866b65322bfbc8fcca13c25f49e1a5c5a93ae4d
|
||||
upstream: 4780775da4957702ece226104b17d072e557a962
|
||||
948b6135a242e4147ee69d7d47e1df20f5951d7f:
|
||||
title: 'nilfs2: fix potential kernel bug due to lack of writeback flag waiting'
|
||||
mainline: a4ca369ca221bb7e06c725792ac107f0e48e82e7
|
||||
upstream: 95f6f81e50d858a7c9aa7c795ec14a0ac3819118
|
||||
22749c2b34a685511b52c8e1c52539519f0a46ec:
|
||||
title: 'hv_utils: drain the timesync packets on onchannelcallback'
|
||||
mainline: b46b4a8a57c377b72a98c7930a9f6969d2d4784e
|
||||
upstream: 1af0a35eba1ee302fc30aea8cb621f6de8728785
|
||||
06d15f1e6c6dbb25aa2058c26a02bc3589dd87d7:
|
||||
title: 'mm/hugetlb: add mmap() encodings for 32MB and 512MB page sizes'
|
||||
bee6efedbf7b70baa442b7af575c6cc055c2bcef:
|
||||
title: 'hugetlb_encode.h: fix undefined behaviour (34 << 26)'
|
||||
mainline: 710bb68c2e3a24512e2d2bae470960d7488e97b1
|
||||
upstream: a33d99c8b213d16ad61bc68cb17aad1e2f484192
|
||||
ba2eacb9af4998743a14271e11fba297a8761497:
|
||||
title: 'usb-storage: alauda: Check whether the media is initialized'
|
||||
mainline: 16637fea001ab3c8df528a8995b3211906165a30
|
||||
upstream: e0aab7b07a9375337847c9d74a5ec044071e01c8
|
||||
d3d05ae427ca75738046af172544e4ad75bdf8aa:
|
||||
title: 'rcutorture: Fix rcu_torture_one_read() pipe_count overflow comment'
|
||||
mainline: 8b9b443fa860276822b25057cb3ff3b28734dec0
|
||||
upstream: 6652029853316f4c273219145ef0e71b148bbe01
|
||||
5856f70943c52055ea24d8ee791308367cd1039a:
|
||||
title: 'batman-adv: bypass empty buckets in batadv_purge_orig_ref()'
|
||||
mainline: 40dc8ab605894acae1473e434944924a22cfaaa0
|
||||
upstream: 79636f636126775436a11ee9cf00a9253a33ac11
|
||||
f98f3237faf35d508d9c1b783385102a7be0abf2:
|
||||
title: 'scsi: qedi: Fix crash while reading debugfs attribute'
|
||||
mainline: 28027ec8e32ecbadcd67623edb290dad61e735b5
|
||||
upstream: 56bec63a7fc87ad50b3373a87517dc9770eef9e0
|
||||
476276b356c5d338435b82ecfe217a9422d7235f:
|
||||
title: 'powerpc/pseries: Enforce hcall result buffer validity and size'
|
||||
mainline: ff2e185cf73df480ec69675936c4ee75a445c3e4
|
||||
upstream: acf2b80c31c37acab040baa3cf5f19fbd5140b18
|
||||
8824c4818bf4e7a3b2c47f78c6a8ace368ebe2c5:
|
||||
title: 'powerpc/io: Avoid clang null pointer arithmetic warnings'
|
||||
mainline: 03c0f2c2b2220fc9cf8785cd7b61d3e71e24a366
|
||||
upstream: 7e1e8e86b0b62844b2c795549f65494e95b5983e
|
||||
43cef40ed1b05181bab0553b15a699a4a3de9dc4:
|
||||
title: 'usb: misc: uss720: check for incompatible versions of the Belkin F5U002'
|
||||
mainline: 3295f1b866bfbcabd625511968e8a5c541f9ab32
|
||||
upstream: 02d13616ca30014ed96302e51a5b0e17664e58bc
|
||||
20c569a7cff68ac7d507661d2cbb62dd6fffdc7d:
|
||||
title: 'udf: Sanitize nanoseconds for time stamps'
|
||||
04f8c1f355f2e1cdc8bc261bb903c85488dbb649:
|
||||
title: 'udf: Simplify calls to udf_disk_stamp_to_time'
|
||||
28e83fb606df2b620ca55001b6b1ec4669fff3fe:
|
||||
title: 'udf: udftime: prevent overflow in udf_disk_stamp_to_time()'
|
||||
mainline: 3b84adf460381169c085e4bc09e7b57e9e16db0a
|
||||
upstream: 2f85b07bd802e86e155fd8496e3d105ec3a2ade9
|
||||
7bf7a1b84c85a21b7e9e7dc9136efd5c79d7b4ed:
|
||||
title: 'MIPS: Octeon: Add PCIe link status check'
|
||||
mainline: 29b83a64df3b42c88c0338696feb6fdcd7f1f3b7
|
||||
upstream: 6bff05aaa32c2f7e1f6e68e890876642159db419
|
||||
2401229809147c9144c4e7bbbcc43c7154cf1aba:
|
||||
title: 'MIPS: Routerboard 532: Fix vendor retry check code'
|
||||
mainline: ae9daffd9028f2500c9ac1517e46d4f2b57efb80
|
||||
upstream: acabc32a7b27f30a75ef01e873d8b65f5dc7d5d5
|
||||
2f46065f2784076d6c121eab1a21a8096fba6b13:
|
||||
title: 'cipso: fix total option length computation'
|
||||
mainline: 9f36169912331fa035d7b73a91252d7c2512eb1a
|
||||
upstream: 5d3b9efa04c0d8967e00cbc4b6b5aab79952f5d1
|
||||
f5105aa1e9989b1deb6d87f9d080a7d0d917dc56:
|
||||
title: 'netrom: Fix a memory leak in nr_heartbeat_expiry()'
|
||||
mainline: 0b9130247f3b6a1122478471ff0e014ea96bb735
|
||||
upstream: d616876256b38ecf9a1a1c7d674192c5346bc69c
|
||||
b71bbdc8869cbf604b55e27437b9d91d3dd909aa:
|
||||
title: 'xfrm6: check ip6_dst_idev() return value in xfrm6_get_saddr()'
|
||||
mainline: d46401052c2d5614da8efea5788532f0401cb164
|
||||
upstream: c71761292d4d002a8eccb57b86792c4e3b3eb3c7
|
||||
e3d1b924da1c094e403381851f287d1cb6d430de:
|
||||
title: 'virtio_net: checksum offloading handling fix'
|
||||
mainline: 604141c036e1b636e2a71cf6e1aa09d1e45f40c2
|
||||
upstream: d0e99ad7721155aaa4e57b8b11bb70743da61491
|
||||
8bfba3c52500198a370f799501c232303b52817c:
|
||||
title: 'net: usb: rtl8150 fix unintiatilzed variables in rtl8150_get_link_ksettings'
|
||||
mainline: fba383985354e83474f95f36d7c65feb75dba19d
|
||||
upstream: 88154e3329e1f47490ee98f8d32a0353d8d46550
|
||||
cc48980d16d92c2f4e6c9a1976bd2afdf9f30fa6:
|
||||
title: 'regulator: core: Fix modpost error "regulator_get_regmap" undefined'
|
||||
mainline: 3f60497c658d2072714d097a177612d34b34aa3d
|
||||
upstream: bdc0a40accdf77080fed82d72e89d341001dcbf6
|
||||
d7e271c7c6269187a0c054ef781b1160398b119a:
|
||||
title: 'dmaengine: ioatdma: Fix missing kmem_cache_destroy()'
|
||||
mainline: 5422145d0b749ad554ada772133b9b20f9fb0ec8
|
||||
upstream: 0b346aa39e76de78be5e105dc338e190e80a5188
|
||||
ed44c23c974a4df0899e57a375eeb563a911b575:
|
||||
title: 'ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."'
|
||||
mainline: a83e1385b780d41307433ddbc86e3c528db031f0
|
||||
upstream: 435ecc978c3d5d0c4e172ec5b956dc1904061d98
|
||||
cc96770672dafa9b46038f64523c42ce3534e8ba:
|
||||
title: 'drm/radeon: fix UBSAN warning in kv_dpm.c'
|
||||
mainline: a498df5421fd737d11bfd152428ba6b1c8538321
|
||||
upstream: 07e8f15fa16695cf4c90e89854e59af4a760055b
|
||||
cd513bd7a535592e2c65efc462a42866d507da3a:
|
||||
title: 'gcov: add support for GCC 14'
|
||||
mainline: c1558bc57b8e5b4da5d821537cd30e2e660861d8
|
||||
upstream: 48d5f4d66962fde59c78dd0a7cf6bd03b3f49c61
|
||||
5566df875aabd57002b81daf45d37d2f6c874d42:
|
||||
title: 'ARM: dts: samsung: smdkv310: fix keypad no-autorepeat'
|
||||
mainline: 87d8e522d6f5a004f0aa06c0def302df65aff296
|
||||
upstream: 1d1838ca012952f4914af6f6619bbdea6251039c
|
||||
9b2697403d29b12ef06ab68f4f2232291dfed184:
|
||||
title: 'ARM: dts: samsung: exynos4412-origen: fix keypad no-autorepeat'
|
||||
mainline: 88208d3cd79821117fd3fb80d9bcab618467d37b
|
||||
upstream: 77951f880a4b9e7f76460364ec0b931d1a59c9fb
|
||||
d350b585ee4796a3868be5f4cd8a29877275c819:
|
||||
title: 'ARM: dts: samsung: smdk4412: fix keypad no-autorepeat'
|
||||
mainline: 4ac4c1d794e7ff454d191bbdab7585ed8dbf3758
|
||||
upstream: 4c70a7576ae14f804196ae0089f9deb6cbd77e1f
|
||||
dcea2cf5d7cca146641b67b8cbcc153cbfdeb0c3:
|
||||
title: 'PCI: Add PCI_ERROR_RESPONSE and related definitions'
|
||||
mainline: 57bdeef4716689d9b0e3571034d65cf420f6efcd
|
||||
upstream: 4c003aef56d5642aefd4d11ee9d7e6755d4c1a6e
|
||||
f66ed725b522bfad043ec2dbcf50eff7ffc8feda:
|
||||
title: 'x86/amd_nb: Check for invalid SMN reads'
|
||||
mainline: c625dabbf1c4a8e77e4734014f2fde7aa9071a1f
|
||||
upstream: d4e52b36c73f44d2b5f41d0cd3f57b3d2efbf180
|
||||
e8b7b4167c95a9e6976479edda683c1b13ca0832:
|
||||
title: 'iio: dac: ad5592r-base: Replace indio_dev->mlock with own device lock'
|
||||
mainline: 33c53cbf8f7bc8d62f6146a19da97c8594376ff0
|
||||
upstream: b576d7d08f26d40789313ec6a8acc966a149c37f
|
||||
a28ae8f66b95e48a7ad69aa23382bd8486b6c529:
|
||||
title: 'iio: dac: ad5592r: un-indent code-block for scale read'
|
||||
mainline: b004fe33034cc64f72c20923be71cf1e6c9a624c
|
||||
upstream: c101996c9dabd9d809c12f686547b7035c087f10
|
||||
d9b6601da0310953862e47ebc5fe28f9bf37033a:
|
||||
title: 'iio: dac: ad5592r: fix temperature channel scaling value'
|
||||
mainline: 279428df888319bf68f2686934897301a250bb84
|
||||
upstream: 9eaaefbae8f5ddbed0fce822042ad969f5f876c5
|
||||
675de54c63726a5b6316a7c3854219e10208f4ea:
|
||||
title: 'scsi: mpt3sas: Add ioc_<level> logging macros'
|
||||
mainline: 645a20c6821cd1ab58af8a1f99659e619c216efd
|
||||
upstream: 229e75730c784f7b871ae9bd76f8bd506d20a304
|
||||
bd4e577402b93532aacc19b7f44c4963b763fafe:
|
||||
title: 'scsi: mpt3sas: Gracefully handle online firmware update'
|
||||
mainline: ffedeae1fa545a1d07e6827180c3923bf67af59f
|
||||
upstream: 230c290c74b956a4c26926c94a5bf932ca234884
|
||||
165419d81604a14fb6d0b111fd2f96288ec9528b:
|
||||
title: 'scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory'
|
||||
mainline: 4254dfeda82f20844299dca6c38cbffcfd499f41
|
||||
upstream: e9bce7c751f6d6c7be88c0bc081a66aaf61a23ee
|
||||
d9ea1dc07e87131c9ae5e3e1504c2cacbf2df74a:
|
||||
title: 'usb: xhci: Remove ep_trb from xhci_cleanup_halted_endpoint()'
|
||||
de371a2bb30d1695a5c07357bd207e5aadefcd51:
|
||||
title: 'xhci: Use soft retry to recover faster from transaction errors'
|
||||
mainline: f8f80be501aa2f10669585c3e328fad079d8cb3a
|
||||
upstream: 8f667ee530a601449fede56370036e1d8d9a62dc
|
||||
c73496b00b416467313ec64166d9d8d5d7e3a921:
|
||||
title: 'xhci: Set correct transferred length for cancelled bulk transfers'
|
||||
mainline: f0260589b439e2637ad54a2b25f00a516ef28a57
|
||||
upstream: ca0f0c5b0b991a71f61948bad09eb5f9e8cc4851
|
||||
3f74f1a0bd8b876661fb5263fa78048e2586065d:
|
||||
title: 'usb: xhci: do not perform Soft Retry for some xHCI hosts'
|
||||
mainline: a4a251f8c23518899d2078c320cf9ce2fa459c9f
|
||||
upstream: 2a28c0f457c5563cef9fbad803d9445eee0c1e05
|
||||
d6636e9d955f53a9da4e40af4ddba67ab3391fbf:
|
||||
title: 'pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER'
|
||||
mainline: adec57ff8e66aee632f3dd1f93787c13d112b7a1
|
||||
upstream: e65a0dc2e85efb28e182aca50218e8a056d0ce04
|
||||
0b45b7f4f6ee46da3efc4858af96e1a86e536250:
|
||||
title: 'pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins'
|
||||
mainline: e8448a6c817c2aa6c6af785b1d45678bd5977e8d
|
||||
upstream: 860a562a61a838867c8d3f66d059a0fc7a67d1c9
|
||||
0d6d13a0bb379aa59f6475c1bb6df7aaed21857f:
|
||||
title: 'pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins'
|
||||
mainline: 5ef6914e0bf578357b4c906ffe6b26e7eedb8ccf
|
||||
upstream: f8426b53f59f88c637143ffa31276be73a3c9b27
|
||||
a1e6c61656a89e49007fd9847fe123acd15d31b9:
|
||||
title: 'pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set'
|
||||
mainline: 4ea4d4808e342ddf89ba24b93ffa2057005aaced
|
||||
upstream: 61c552e4ee1dbfa85d68997ab6e9d80690b401a7
|
||||
90340ac06eb8a83a320c3bf2a31cc67eaf333478:
|
||||
title: 'drm/amdgpu: fix UBSAN warning in kv_dpm.c'
|
||||
mainline: f0d576f840153392d04b2d52cf3adab8f62e8cb6
|
||||
upstream: 4ad7d49059358ceadd352b4e2511425bdb68f400
|
||||
f6658c76f5f0670445bebb35a9ccf3d5ae502806:
|
||||
title: 'ASoC: fsl-asoc-card: set priv->pdev before using it'
|
||||
mainline: 90f3feb24172185f1832636264943e8b5e289245
|
||||
upstream: ae81535ce2503aabc4adab3472f4338070cdeb6a
|
||||
c01fc5238f6bb561e137d7b6e7df88c5107a263f:
|
||||
title: 'netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers'
|
||||
mainline: 7931d32955e09d0a11b1fe0b6aac1bfa061c005c
|
||||
upstream: 40188a25a9847dbeb7ec67517174a835a677752f
|
||||
9578df8a6b21442b2451be92ea5ce59b2cc38505:
|
||||
title: 'net/iucv: Avoid explicit cpumask var allocation on stack'
|
||||
mainline: be4e1304419c99a164b4c0e101c7c2a756b635b9
|
||||
upstream: 2b085521be5292016097b5e7ca81b26be3f7098d
|
||||
bf4ffd90f46475894c7d758eb26aa0f8a31dc245:
|
||||
title: 'ALSA: emux: improve patch ioctl data validation'
|
||||
mainline: 89b32ccb12ae67e630c6453d778ec30a592a212f
|
||||
upstream: 40d7def67841343c10f8642a41031fecbb248bab
|
||||
728e947a35ba429d96e495c170367211583d760e:
|
||||
title: 'media: dvbdev: Initialize sbuf'
|
||||
mainline: 17d1316de0d7dc1bdc5d6e3ad4efd30a9bf1a381
|
||||
upstream: 1925c902159d686372d897c2fa8ee4ea91b62d14
|
||||
cf89c5861a3b88fcef8ce222edd384bb5cb44934:
|
||||
title: 'soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message'
|
||||
mainline: ddbf3204f600a4d1f153498f618369fca352ae00
|
||||
upstream: 671abe2b126e6e39d52eefbf53106650ef2dd904
|
||||
43bae0d9a7bd2f0a78a283b1440a74601b4a4f68:
|
||||
title: 'nvme: fixup comment for nvme RDMA Provider Type'
|
||||
mainline: f80a55fa90fa76d01e3fffaa5d0413e522ab9a00
|
||||
upstream: 277ea9f9bf1171f0f02836ded9b65b9b8684322d
|
||||
b4951f8134444e1eb7b28ea2234463f8ed077745:
|
||||
title: 'i2c: ocores: stop transfer on timeout'
|
||||
mainline: e7663ef5ae0f02e3b902eb0305dec981333eb3e1
|
||||
upstream: c7999d372e7fe8bdfbc2226af1896e8bd328018a
|
||||
4d73d79702f3c0872f20dfd8a05974c7b18ebc7f:
|
||||
title: 'i2c: ocores: set IACK bit after core is enabled'
|
||||
mainline: 5a72477273066b5b357801ab2d315ef14949d402
|
||||
upstream: 1f7e4dd58af1267db2970e5c2e98a4d0ff170047
|
||||
00eda93e9c842eecb76a1bc09b337e4f0cb043eb:
|
||||
title: 'x86: stop playing stack games in profile_pc()'
|
||||
mainline: 093d9603b60093a9aaae942db56107f6432a5dca
|
||||
upstream: 65ebdde16e7f5da99dbf8a548fb635837d78384e
|
||||
51e44a77a5ca50e7e1f0548960bbb9eea83ff139:
|
||||
title: 'mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos'
|
||||
mainline: ebc4fc34eae8ddfbef49f2bdaced1bf4167ef80d
|
||||
upstream: bba83bf85fc6fcca1e827fd88bf3998be9ad0d24
|
||||
b23dedd4318672a4265f48d90f8760b41b6f7006:
|
||||
title: 'iio: adc: ad7266: Fix variable checking bug'
|
||||
mainline: a2b86132955268b2a1703082fbc2d4832fc001b8
|
||||
upstream: 75a024d3ab0d331fc1d0b640b00e63d31d556b1e
|
||||
e4de596e5e18fb924bfe0048049cd04a285272f9:
|
||||
title: 'net: usb: ax88179_178a: improve link status logs'
|
||||
mainline: 058722ee350c0bdd664e467156feb2bf5d9cc271
|
||||
upstream: abb029e078e149d4d1f44a244cf833a6a1541447
|
||||
cbc92ffc360a7b6f16408d7092c71d72bb9e0382:
|
||||
title: 'usb: gadget: printer: SS+ support'
|
||||
mainline: fd80731e5e9d1402cb2f85022a6abf9b1982ec5f
|
||||
upstream: a0886d04f1c7439b55c1c9daecd6b21ada2de5dd
|
||||
7209de070ba2427bfa29373c649c6311b69580bc:
|
||||
title: 'usb: musb: da8xx: fix a resource leak in probe()'
|
||||
mainline: de644a4a86be04ed8a43ef8267d0f7d021941c5e
|
||||
upstream: a93b97349ba92cdc8b63ad09d28a873a467e1d62
|
||||
4ddbe32a34bc9cc18c34282f88488d22c4178071:
|
||||
title: 'usb: atm: cxacru: fix endpoint checking in cxacru_bind()'
|
||||
mainline: 2eabb655a968b862bc0c31629a09f0fbf3c80d51
|
||||
upstream: 5159a81924311c1ec786ad9fdef784ead8676a6a
|
||||
c6f828c51833c0dcdd53b79a4eb5c8d5f5ebd56b:
|
||||
title: 'tty: mcf: MCF54418 has 10 UARTS'
|
||||
mainline: 7c92a8bd53f24d50c8cf4aba53bb75505b382fed
|
||||
upstream: 0929fbe8194db19bfeed22f8c7f9b24da9f08bb9
|
||||
87cc48eed0c10fc8f13907410db3f1c76c77826b:
|
||||
title: 'hexagon: fix fadvise64_64 calling conventions'
|
||||
mainline: 896842284c6ccba25ec9d78b7b6e62cdd507c083
|
||||
upstream: 72152ab85ae44e13df8b7a653b5f657b48fa3229
|
||||
2dc9769a951e305b690994008bcc32ee0d57f3e2:
|
||||
title: 'drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes'
|
||||
mainline: 66edf3fb331b6c55439b10f9862987b0916b3726
|
||||
upstream: 9289cd3450d1da3e271ef4b054d4d2932c41243e
|
||||
e2f974a4f127e38e7a5ec7a7ab51bb59d4392f17:
|
||||
title: 'drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes'
|
||||
mainline: 6d411c8ccc0137a612e0044489030a194ff5c843
|
||||
upstream: ffabad4aa91e33ced3c6ae793fb37771b3e9cb51
|
||||
f8741253033be14a8f4297ba6c8ec7cd3ddf4def:
|
||||
title: 'batman-adv: include gfp.h for GFP_* defines'
|
||||
e6522330b7414dc7f96f547045bdc5db9de0cc3e:
|
||||
title: 'batman-adv: Don''t accept TT entries for out-of-spec VIDs'
|
||||
mainline: 537a350d14321c8cca5efbf0a33a404fec3a9f9e
|
||||
upstream: 4d5a2d6b7a9a1140342c5229d1a427ec37a12fd4
|
||||
5696aad6bf4700041503e715bd2fb5d9dcf1fcc0:
|
||||
title: 'ftruncate: pass a signed offset'
|
||||
mainline: 4b8e88e563b5f666446d002ad0dc1e6e8e7102b0
|
||||
upstream: c329760749b5419769e57cb2be80955d2805f9c9
|
||||
7128fc9dcb40ffa3ca16cc92eeb4aa3f65639c87:
|
||||
title: 'pwm: stm32: Refuse too small period requests'
|
||||
mainline: c45fcf46ca2368dafe7e5c513a711a6f0f974308
|
||||
upstream: 19946741ea989605d12d2ffdbb006b9ca000dde8
|
||||
81d8db9302d30505f89d672e1a39c60ed71a1dda:
|
||||
title: 'ipv6: annotate some data-races around sk->sk_prot'
|
||||
mainline: 086d49058cd8471046ae9927524708820f5fd1c7
|
||||
upstream: 13bda7ac5801f501bed6e21717dbf3b0df773847
|
||||
0904f321c3a052af42b094f786f75fe32f5d8f2d:
|
||||
title: 'ipv6: Fix data races around sk->sk_prot.'
|
||||
mainline: 364f997b5cfe1db0d63a390fe7c801fa2b3115f6
|
||||
upstream: fda6d62642a9c544a293d7ad7cb058f8c7f8f3dd
|
||||
1895f4d98247c54d045cd4a9c94c0802f3c270d5:
|
||||
title: 'tcp: Fix data races around icsk->icsk_af_ops.'
|
||||
mainline: f49cd2f4d6170d27a2c61f1fecb03d8a70c91f57
|
||||
upstream: 5bb642cc3355ffd3c8bca0a8bd8e6e65bcc2091c
|
||||
6658230562d296ef2484a1156ff322c558d3c26a:
|
||||
title: 'arm64: dts: rockchip: Add sound-dai-cells for RK3368'
|
||||
mainline: 8d7ec44aa5d1eb94a30319074762a1740440cdc8
|
||||
upstream: f7fc312d1d750db0ea867e50e6c436e0679a5a65
|
||||
944720b778413cf71b70f8d697b94a357ea40e19:
|
||||
title: 'SUNRPC: Fix RPC client cleaned up the freed pipefs dentries'
|
||||
mainline: bfca5fb4e97c46503ddfc582335917b0cc228264
|
548
.elts/upstream/4.19.317.yaml
Normal file
548
.elts/upstream/4.19.317.yaml
Normal file
@ -0,0 +1,548 @@
|
||||
377dbb220edc8421b7960691876c5b3bef62f89b:
|
||||
title: 'wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects'
|
||||
mainline: b7d7f11a291830fdf69d3301075dd0fb347ced84
|
||||
backport: a57e28b291e0ad50d1c6ceba6a7cb556fdf1faf6
|
||||
e51637e0c66a6f72d134d9f95daa47ea62b43c7e:
|
||||
title: 'wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup()'
|
||||
mainline: 44c06bbde6443de206b30f513100b5670b23fc5e
|
||||
backport: 9feb2600c4ba32c9fb136d7b5e16ca06c853ea8c
|
||||
a238de1c3413870b2f0d2e41a56b335ede1f5977:
|
||||
title: 'wifi: iwlwifi: mvm: revert gen2 TX A-MPDU size to 64'
|
||||
mainline: 4a7aace2899711592327463c1a29ffee44fcc66e
|
||||
skipped: fixes patch not in branch
|
||||
15b37c6fab9d5e40ac399fa1c725118588ed649c:
|
||||
title: 'wifi: iwlwifi: mvm: don''t read past the mfuart notifcation'
|
||||
mainline: 4bb95f4535489ed830cf9b34b0a891e384d1aee4
|
||||
backport: 79e590b3651e9074489976e737e7fc1255a6cd79
|
||||
6330fe95e59bc1de5ad3ebd89e379d785c7c6fc0:
|
||||
title: 'ipv6: sr: block BH in seg6_output_core() and seg6_input_core()'
|
||||
mainline: c0b98ac1cc104f48763cdb27b1e9ac25fd81fc90
|
||||
backport: 9ba19e227817b86f1032cc551912a049b62ba7e6
|
||||
ddd44dc20554c38450204df47f8422c7fec78f2d:
|
||||
title: 'vxlan: Fix regression when dropping packets due to invalid src addresses'
|
||||
mainline: 1cd4bc987abb2823836cbb8f887026011ccddc8a
|
||||
backport: 7c79a301b097797b8edd46b11a888a287e281f98
|
||||
25dec34bfd770f444409b3228f90f64feb6804f6:
|
||||
title: 'tcp: count CLOSE-WAIT sockets for TCP_MIB_CURRESTAB'
|
||||
mainline: a46d0ea5c94205f40ecf912d1bb7806a8a64704f
|
||||
backport: 54f3a87336ada67c8a8da26f7575d12c5ca85bfb
|
||||
e468462fe0efdd233b6fd7b978e9911bb1eb8614:
|
||||
title: 'ptp: Fix error message on failed pin verification'
|
||||
mainline: 323a359f9b077f382f4483023d096a4d316fd135
|
||||
backport: 7a5ce9a4d73421a553e354ee6eb5de1a3bffeae5
|
||||
5c91a2f308cabf7cc0e30997455ac15926199987:
|
||||
title: 'af_unix: Annotate data-race of sk->sk_state in unix_inq_len().'
|
||||
mainline: 3a0f38eb285c8c2eead4b3230c7ac2983707599d
|
||||
backport: 4379c4db8fa9f7d4adfdf7256277c96ac968a690
|
||||
6b4dffb64e98b9eacc7c214056146d32642f7e8a:
|
||||
title: 'af_unix: Annotate data-races around sk->sk_state in unix_write_space() and poll().'
|
||||
mainline: eb0718fb3e97ad0d6f4529b810103451c90adf94
|
||||
backport: 089da5e3914abb4806b03eff85aeb895c0ab860b
|
||||
7cd9dd08be2482bd1015642b61d97a187af5a774:
|
||||
title: 'af_unix: Annotate data-races around sk->sk_state in sendmsg() and recvmsg().'
|
||||
mainline: 8a34d4e8d9742a24f74998f45a6a98edd923319b
|
||||
backport: c6f96daa0536f49a7d624196dbc3defc536eacdb
|
||||
123d798351c96a15456478558fccac0eb766f26d:
|
||||
title: 'af_unix: Annotate data-races around sk->sk_state in UNIX_DIAG.'
|
||||
mainline: 0aa3be7b3e1f8f997312cc4705f8165e02806f8f
|
||||
backport: cab04acca50227f3f27fb5616bee123fea171762
|
||||
f5cf5e139ec736f1ac18cda8d5e5fc80d7eef787:
|
||||
title: 'af_unix: Annotate data-race of net->unx.sysctl_max_dgram_qlen.'
|
||||
mainline: bd9f2d05731f6a112d0c7391a0d537bfc588dbe6
|
||||
backport: 98e2f1cec1532524595d79af5c86ed370debd735
|
||||
b56ff0d20a4a60b9e6424d0609acccbbde573ea8:
|
||||
title: 'af_unix: Use unix_recvq_full_lockless() in unix_stream_connect().'
|
||||
mainline: 45d872f0e65593176d880ec148f41ad7c02e40a7
|
||||
backport: 15baad6e966a2478052b6e2efd0153a9e9a9e0c2
|
||||
141826272a2cd16436f9b6c241cf88b72feddb3b:
|
||||
title: 'af_unix: Use skb_queue_len_lockless() in sk_diag_show_rqlen().'
|
||||
mainline: 5d915e584d8408211d4567c22685aae8820bfc55
|
||||
backport: a8d1038ecf162678372a6f5686eabbf0c070ec91
|
||||
9c2d206ddc697595ceb0e8e356c64f9e845a0c2f:
|
||||
title: 'af_unix: Annotate data-race of sk->sk_shutdown in sk_diag_fill().'
|
||||
mainline: efaf24e30ec39ebbea9112227485805a48b0ceb1
|
||||
backport: 669958a2bdd8b94c6bbe1df7c83feae7b844afb3
|
||||
f71a53148ce34898fef099b75386a3a9f4449311:
|
||||
title: 'usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete'
|
||||
mainline: 24729b307eefcd7c476065cd7351c1a018082c19
|
||||
backport: 77067622d8f27240f3e5438767cce7317f8b9c34
|
||||
656068638e1da7728abde65760bc8e61106a9b34:
|
||||
title: 'drm/amd/display: Handle Y carry-over in VCP X.Y calculation'
|
||||
mainline: 3626a6aebe62ce7067cdc460c0c644e9445386bb
|
||||
skipped: patched file is not in 4.14.y
|
||||
9dcb6eb967fe778d1d985a709ac4030895603fc0:
|
||||
title: 'serial: sc16is7xx: replace hardcoded divisor value with BIT() macro'
|
||||
mainline: 2e57cefc4477659527f7adab1f87cdbf60ef1ae6
|
||||
backport: 6c20d50e094e8b67aab06f29f7e97351bbfef601
|
||||
2b14e818ef3e49741ee60a317554222c6af3a800:
|
||||
title: 'serial: sc16is7xx: fix bug in sc16is7xx_set_baud() when using prescaler'
|
||||
mainline: 8492bd91aa055907c67ef04f2b56f6dadd1f44bf
|
||||
backport: f966c6e6aa0166c853782a705ae5389f8c6b24e7
|
||||
d3f6dc1155a09bc2c212b734c3ff01a046490e92:
|
||||
title: 'media: mc: mark the media devnode as registered from the, start'
|
||||
mainline: 4bc60736154bc9e0e39d3b88918f5d3762ebe5e0
|
||||
backport: 41d740fdbcb6d45f86ec6cd7238ba2ca38df8824
|
||||
62b71327cf1af11ceb4a3f53ebf0c85cb9ad3db8:
|
||||
title: 'selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages'
|
||||
mainline: 9ad665ef55eaad1ead1406a58a34f615a7c18b5e
|
||||
backport: fe9a3e689a0275a21eae214693dd7ddbdbb63cec
|
||||
4a4f88dcf8b688db0cf527362ebf4db0d272a3f6:
|
||||
title: 'selftests/mm: conform test to TAP format output'
|
||||
mainline: 9a21701edc41465de56f97914741bfb7bfc2517d
|
||||
backport: 75614587972465759b313027993c87e60eeb446f
|
||||
4d5f7ab71a24f17311d361f47c61cc49064e1dd0:
|
||||
title: 'selftests/mm: compaction_test: fix bogus test success on Aarch64'
|
||||
mainline: d4202e66a4b1fe6968f17f9f09bbc30d08f028a1
|
||||
backport: 6132af7d247da481d1f4e99c91f5fdc29961bce3
|
||||
c158e493640ce76e76241f0529cebe19770ba5b2:
|
||||
title: 'nilfs2: Remove check for PageError'
|
||||
mainline: 79ea65563ad8aaab309d61eeb4d5019dd6cf5fa0
|
||||
backport: 71bf6edd5d5c1384f56efcc445146a367f1e7c38
|
||||
7ed62ec616a3441aa3859150d50fadf5fd117aa8:
|
||||
title: 'nilfs2: return the mapped address from nilfs_get_page()'
|
||||
mainline: 09a46acb3697e50548bb265afa1d79163659dd85
|
||||
backport: 52c1c33e0dafbe82538c326d4a6144544e9501f4
|
||||
2ac8a2fe22bdde9eecce2a42cf5cab79333fb428:
|
||||
title: 'nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors'
|
||||
mainline: 7373a51e7998b508af7136530f3a997b286ce81c
|
||||
backport: c5682abd08cb2a8960de840d00ce1efc5066286e
|
||||
217d1f44fff560b3995a685a60aa66e55a7f0f56:
|
||||
title: 'USB: class: cdc-wdm: Fix CPU lockup caused by excessive log messages'
|
||||
mainline: 22f00812862564b314784167a89f27b444f82a46
|
||||
backport: ac2c307a0180583e260719f923ba2edabddea919
|
||||
83c2321411d8bb8f832dbb482ea3387ac1322542:
|
||||
title: 'mei: me: release irq in mei_me_pci_resume error path'
|
||||
mainline: 283cb234ef95d94c61f59e1cd070cd9499b51292
|
||||
backport: 6f5dcde17cd2c15cb9812b4441ab1ba7088ccf0c
|
||||
f0dedb5c511ed82cbaff4997a8decf2351ba549f:
|
||||
title: 'jfs: xattr: fix buffer overflow for invalid xattr'
|
||||
mainline: 7c55b78818cfb732680c4a72ab270cc2d2ee3d0f
|
||||
backport: 79cb0bb1b0e2cbed9eaec6f1fb7ce81baf278a39
|
||||
a2ddc0475c4c6fff5b9eac0e0eb4726640925e1b:
|
||||
title: 'xhci: Apply reset resume quirk to Etron EJ188 xHCI host'
|
||||
mainline: 17bd54555c2aaecfdb38e2734149f684a73fa584
|
||||
backport: b8b14f255f86c39eee93bc4fbc4c8f6c3f9da875
|
||||
5c08d8bcc6f20965d665a6122a3fe60eba042e74:
|
||||
title: 'xhci: Apply broken streams quirk to Etron EJ188 xHCI host'
|
||||
mainline: 91f7a1524a92c70ffe264db8bdfa075f15bbbeb9
|
||||
backport: 41c568e13eb14e46c634292e403a4652603b2d46
|
||||
d9bbbbf1a2cac25fafa44ba09d2ab8f5365c0a06:
|
||||
title: 'Input: try trimming too long modalias strings'
|
||||
mainline: 0774d19038c496f0c3602fb505c43e1b2d8eed85
|
||||
backport: abe1fafad8d912b27028e91a0040650149ab4ab8
|
||||
beb99266830520e15fbc6ca8cc5a5240d76851fd:
|
||||
title: 'xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING'
|
||||
mainline: 237f3cf13b20db183d3706d997eedc3c49eacd44
|
||||
skipped: fixes patch not in branch
|
||||
955b3764671f3f157215194972d9c01a3a4bd316:
|
||||
title: 'HID: core: remove unnecessary WARN_ON() in implement()'
|
||||
mainline: 4aa2dcfbad538adf7becd0034a3754e1bd01b2b5
|
||||
backport: c0be0c4967c8b988f9603c7b7cecc01379071c67
|
||||
7f66540fcf6f8f66784f739c33f79d2889e95106:
|
||||
title: 'iommu/amd: Fix sysfs leak in iommu init'
|
||||
mainline: a295ec52c8624883885396fde7b4df1a179627c3
|
||||
backport: 2cb6663051a21277c7bdf9695ad8a04fc6a5dc7a
|
||||
87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2:
|
||||
title: 'liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet'
|
||||
mainline: c44711b78608c98a3e6b49ce91678cd0917d5349
|
||||
skipped: fixes patch not in branch
|
||||
3e0daaf28639c6fd22e96eb2f8772ad40e922ee7:
|
||||
title: 'drm/bridge/panel: Fix runtime warning on panel bridge release'
|
||||
mainline: ce62600c4dbee8d43b02277669dd91785a9b81d9
|
||||
backport: b4722a9d958fe8bd54d0358650bf07b11ab91d4b
|
||||
06f208ae0670ef97b0bf253a5523863e113026b6:
|
||||
title: 'tcp: fix race in tcp_v6_syn_recv_sock()'
|
||||
mainline: d37fe4255abe8e7b419b90c5847e8ec2b8debb08
|
||||
backport: 291c8c1e9e291262f9179c0ba5cef2e49df4f142
|
||||
a1f9c8328219b9bb2c29846d6c74ea981e60b5a7:
|
||||
title: 'Bluetooth: L2CAP: Fix rejecting L2CAP_CONN_PARAM_UPDATE_REQ'
|
||||
mainline: 806a5198c05987b748b50f3d0c0cfb3d417381a4
|
||||
backport: 9ae3694d9677f29e0d8e5bbb86841f69baae279d
|
||||
f00c343be6f25a6a3736fd6b332c918da57d81d8:
|
||||
title: 'ipv6/route: Add a missing check on proc_dointvec'
|
||||
mainline: f0fb9b288d0a7e9cc324ae362e2dfd2cc2217ded
|
||||
backport: fab190e5fcd0466de646405bf49ca7017bbdca31
|
||||
ebde6e8a52c68dc45b4ae354e279ba74788579e7:
|
||||
title: 'net/ipv6: Fix the RT cache flush via sysctl using a previous delay'
|
||||
mainline: 14a20e5b4ad998793c5f43b0330d9e1388446cf3
|
||||
backport: 04f57a8a33fef04d61ba56f8b4e830fe0cebc8f2
|
||||
bb3641a5831789d83a58a39ed4a928bcbece7080:
|
||||
title: 'drivers: core: synchronize really_probe() and dev_uevent()'
|
||||
mainline: c0a40097f0bc81deafc15f9195d1fb54595cd6d0
|
||||
backport: 82d942edbd8b21acbacd1d16eb3cb52d47404384
|
||||
540ca99729e28dbe902b01039a3b4bd74520a819:
|
||||
title: 'drm/exynos/vidi: fix memory leak in .get_modes()'
|
||||
mainline: 38e3825631b1f314b21e3ade00b5a4d737eb054e
|
||||
backport: 126c475927adda67084f403fee8ec76a853b70fc
|
||||
58730dfbd4ae01c1b022b0d234a8bf8c02cdfb81:
|
||||
title: 'vmci: prevent speculation leaks by sanitizing event in event_deliver()'
|
||||
mainline: 8003f00d895310d409b2bf9ef907c56b42a4e0f4
|
||||
backport: 37026b40b51170c1f9b052ef1b1cd19ec815c566
|
||||
7bdf1d550ddfcd9ab797087421f77b7aceddc8a7:
|
||||
title: 'fs/proc: fix softlockup in __read_vmcore'
|
||||
mainline: 5cbcb62dddf5346077feb82b7b0c9254222d3445
|
||||
backport: aaea44b590e4a5e853dcc48edbf8ffa6dc611490
|
||||
f882e853ea33c1e4f7107387f85879139682b720:
|
||||
title: 'ocfs2: use coarse time for new created files'
|
||||
mainline: b8cb324277ee16f3eca3055b96fce4735a5a41c6
|
||||
backport: c02663a1e56ea3793580a51e2ea012e198661ca1
|
||||
3c26b5d21b1239e9c7fd31ba7d9b2d7bdbaa68d9:
|
||||
title: 'ocfs2: fix races between hole punching and AIO+DIO'
|
||||
mainline: 952b023f06a24b2ad6ba67304c4c84d45bea2f18
|
||||
backport: db16f074c58fb04ccb5efd329bd001b3769662b2
|
||||
1b6047e27f9b6c79518076a480cdccecf0b6afed:
|
||||
title: 'PCI: rockchip-ep: Remove wrong mask on subsys_vendor_id'
|
||||
mainline: 2dba285caba53f309d6060fca911b43d63f41697
|
||||
skipped: fixes patch not in branch
|
||||
5226e7062723bd5d4f1bd5e98ace7c1e6c015d57:
|
||||
title: 'dmaengine: axi-dmac: fix possible race in remove()'
|
||||
mainline: 1bc31444209c8efae98cb78818131950d9a6f4d6
|
||||
backport: 7932419ef19393d4fc9b05a04583d8c31c2785e3
|
||||
96185ee73d5cd28c2b19311c87536ffeeb653562:
|
||||
title: 'intel_th: pci: Add Granite Rapids support'
|
||||
mainline: e44937889bdf4ecd1f0c25762b7226406b9b7a69
|
||||
backport: c2986a4fcfa961be763f68bb7c55ff808dcbbc63
|
||||
04d47e1fd4e9a9b9c32e769b9106bbcbddeca756:
|
||||
title: 'intel_th: pci: Add Granite Rapids SOC support'
|
||||
mainline: 854afe461b009801a171b3a49c5f75ea43e4c04c
|
||||
backport: fbda6dc2f8c85e96d6ae1f5243146a33e627ee9e
|
||||
f9159b4706fc1eae09c37081f9a580673a4477ff:
|
||||
title: 'intel_th: pci: Add Sapphire Rapids SOC support'
|
||||
mainline: 2e1da7efabe05cb0cf0b358883b2bc89080ed0eb
|
||||
backport: 97c26585440f81fc3832759721964719ae7a4802
|
||||
8af7cedc0edf1b9d3c29e2b72e7d643f64669ee4:
|
||||
title: 'intel_th: pci: Add Meteor Lake-S support'
|
||||
mainline: c4a30def564d75e84718b059d1a62cc79b137cf9
|
||||
backport: 0d4c32589468be6d7b8993e7576690004f50f5cc
|
||||
4780775da4957702ece226104b17d072e557a962:
|
||||
title: 'intel_th: pci: Add Lunar Lake support'
|
||||
mainline: f866b65322bfbc8fcca13c25f49e1a5c5a93ae4d
|
||||
backport: eac9744fef5c714c3201a0ab9c56e61ede318c29
|
||||
95f6f81e50d858a7c9aa7c795ec14a0ac3819118:
|
||||
title: 'nilfs2: fix potential kernel bug due to lack of writeback flag waiting'
|
||||
mainline: a4ca369ca221bb7e06c725792ac107f0e48e82e7
|
||||
backport: 948b6135a242e4147ee69d7d47e1df20f5951d7f
|
||||
1af0a35eba1ee302fc30aea8cb621f6de8728785:
|
||||
title: 'hv_utils: drain the timesync packets on onchannelcallback'
|
||||
mainline: b46b4a8a57c377b72a98c7930a9f6969d2d4784e
|
||||
backport: 22749c2b34a685511b52c8e1c52539519f0a46ec
|
||||
a33d99c8b213d16ad61bc68cb17aad1e2f484192:
|
||||
title: 'hugetlb_encode.h: fix undefined behaviour (34 << 26)'
|
||||
mainline: 710bb68c2e3a24512e2d2bae470960d7488e97b1
|
||||
backport: bee6efedbf7b70baa442b7af575c6cc055c2bcef
|
||||
e0aab7b07a9375337847c9d74a5ec044071e01c8:
|
||||
title: 'usb-storage: alauda: Check whether the media is initialized'
|
||||
mainline: 16637fea001ab3c8df528a8995b3211906165a30
|
||||
backport: ba2eacb9af4998743a14271e11fba297a8761497
|
||||
6652029853316f4c273219145ef0e71b148bbe01:
|
||||
title: 'rcutorture: Fix rcu_torture_one_read() pipe_count overflow comment'
|
||||
mainline: 8b9b443fa860276822b25057cb3ff3b28734dec0
|
||||
backport: d3d05ae427ca75738046af172544e4ad75bdf8aa
|
||||
79636f636126775436a11ee9cf00a9253a33ac11:
|
||||
title: 'batman-adv: bypass empty buckets in batadv_purge_orig_ref()'
|
||||
mainline: 40dc8ab605894acae1473e434944924a22cfaaa0
|
||||
backport: 5856f70943c52055ea24d8ee791308367cd1039a
|
||||
56bec63a7fc87ad50b3373a87517dc9770eef9e0:
|
||||
title: 'scsi: qedi: Fix crash while reading debugfs attribute'
|
||||
mainline: 28027ec8e32ecbadcd67623edb290dad61e735b5
|
||||
backport: f98f3237faf35d508d9c1b783385102a7be0abf2
|
||||
acf2b80c31c37acab040baa3cf5f19fbd5140b18:
|
||||
title: 'powerpc/pseries: Enforce hcall result buffer validity and size'
|
||||
mainline: ff2e185cf73df480ec69675936c4ee75a445c3e4
|
||||
backport: 476276b356c5d338435b82ecfe217a9422d7235f
|
||||
7e1e8e86b0b62844b2c795549f65494e95b5983e:
|
||||
title: 'powerpc/io: Avoid clang null pointer arithmetic warnings'
|
||||
mainline: 03c0f2c2b2220fc9cf8785cd7b61d3e71e24a366
|
||||
backport: 8824c4818bf4e7a3b2c47f78c6a8ace368ebe2c5
|
||||
02d13616ca30014ed96302e51a5b0e17664e58bc:
|
||||
title: 'usb: misc: uss720: check for incompatible versions of the Belkin F5U002'
|
||||
mainline: 3295f1b866bfbcabd625511968e8a5c541f9ab32
|
||||
backport: 43cef40ed1b05181bab0553b15a699a4a3de9dc4
|
||||
2f85b07bd802e86e155fd8496e3d105ec3a2ade9:
|
||||
title: 'udf: udftime: prevent overflow in udf_disk_stamp_to_time()'
|
||||
mainline: 3b84adf460381169c085e4bc09e7b57e9e16db0a
|
||||
backport: 28e83fb606df2b620ca55001b6b1ec4669fff3fe
|
||||
864a1e64802c2de46fe22b52ca87c5b409042803:
|
||||
title: 'PCI/PM: Avoid D3cold for HP Pavilion 17 PC/1972 PCIe Ports'
|
||||
mainline: 256df20c590bf0e4d63ac69330cf23faddac3e08
|
||||
skipped: commit did not cherry-pick cleanly
|
||||
6bff05aaa32c2f7e1f6e68e890876642159db419:
|
||||
title: 'MIPS: Octeon: Add PCIe link status check'
|
||||
mainline: 29b83a64df3b42c88c0338696feb6fdcd7f1f3b7
|
||||
backport: 7bf7a1b84c85a21b7e9e7dc9136efd5c79d7b4ed
|
||||
acabc32a7b27f30a75ef01e873d8b65f5dc7d5d5:
|
||||
title: 'MIPS: Routerboard 532: Fix vendor retry check code'
|
||||
mainline: ae9daffd9028f2500c9ac1517e46d4f2b57efb80
|
||||
backport: 2401229809147c9144c4e7bbbcc43c7154cf1aba
|
||||
5d3b9efa04c0d8967e00cbc4b6b5aab79952f5d1:
|
||||
title: 'cipso: fix total option length computation'
|
||||
mainline: 9f36169912331fa035d7b73a91252d7c2512eb1a
|
||||
backport: 2f46065f2784076d6c121eab1a21a8096fba6b13
|
||||
d616876256b38ecf9a1a1c7d674192c5346bc69c:
|
||||
title: 'netrom: Fix a memory leak in nr_heartbeat_expiry()'
|
||||
mainline: 0b9130247f3b6a1122478471ff0e014ea96bb735
|
||||
backport: f5105aa1e9989b1deb6d87f9d080a7d0d917dc56
|
||||
f0cda984e4e634b221dbf9642b8ecc5b4806b41e:
|
||||
title: 'ipv6: prevent possible NULL dereference in rt6_probe()'
|
||||
mainline: b86762dbe19a62e785c189f313cda5b989931f37
|
||||
skipped: prerequisite dcd1f572954f9d66d7b4a65df894ed5b4c467368 not in branch
|
||||
c71761292d4d002a8eccb57b86792c4e3b3eb3c7:
|
||||
title: 'xfrm6: check ip6_dst_idev() return value in xfrm6_get_saddr()'
|
||||
mainline: d46401052c2d5614da8efea5788532f0401cb164
|
||||
backport: b71bbdc8869cbf604b55e27437b9d91d3dd909aa
|
||||
d0e99ad7721155aaa4e57b8b11bb70743da61491:
|
||||
title: 'virtio_net: checksum offloading handling fix'
|
||||
mainline: 604141c036e1b636e2a71cf6e1aa09d1e45f40c2
|
||||
backport: e3d1b924da1c094e403381851f287d1cb6d430de
|
||||
88154e3329e1f47490ee98f8d32a0353d8d46550:
|
||||
title: 'net: usb: rtl8150 fix unintiatilzed variables in rtl8150_get_link_ksettings'
|
||||
mainline: fba383985354e83474f95f36d7c65feb75dba19d
|
||||
backport: 8bfba3c52500198a370f799501c232303b52817c
|
||||
bdc0a40accdf77080fed82d72e89d341001dcbf6:
|
||||
title: 'regulator: core: Fix modpost error "regulator_get_regmap" undefined'
|
||||
mainline: 3f60497c658d2072714d097a177612d34b34aa3d
|
||||
backport: cc48980d16d92c2f4e6c9a1976bd2afdf9f30fa6
|
||||
0b346aa39e76de78be5e105dc338e190e80a5188:
|
||||
title: 'dmaengine: ioatdma: Fix missing kmem_cache_destroy()'
|
||||
mainline: 5422145d0b749ad554ada772133b9b20f9fb0ec8
|
||||
backport: d7e271c7c6269187a0c054ef781b1160398b119a
|
||||
435ecc978c3d5d0c4e172ec5b956dc1904061d98:
|
||||
title: 'ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."'
|
||||
mainline: a83e1385b780d41307433ddbc86e3c528db031f0
|
||||
backport: ed44c23c974a4df0899e57a375eeb563a911b575
|
||||
07e8f15fa16695cf4c90e89854e59af4a760055b:
|
||||
title: 'drm/radeon: fix UBSAN warning in kv_dpm.c'
|
||||
mainline: a498df5421fd737d11bfd152428ba6b1c8538321
|
||||
backport: cc96770672dafa9b46038f64523c42ce3534e8ba
|
||||
48d5f4d66962fde59c78dd0a7cf6bd03b3f49c61:
|
||||
title: 'gcov: add support for GCC 14'
|
||||
mainline: c1558bc57b8e5b4da5d821537cd30e2e660861d8
|
||||
backport: cd513bd7a535592e2c65efc462a42866d507da3a
|
||||
1d1838ca012952f4914af6f6619bbdea6251039c:
|
||||
title: 'ARM: dts: samsung: smdkv310: fix keypad no-autorepeat'
|
||||
mainline: 87d8e522d6f5a004f0aa06c0def302df65aff296
|
||||
backport: 5566df875aabd57002b81daf45d37d2f6c874d42
|
||||
77951f880a4b9e7f76460364ec0b931d1a59c9fb:
|
||||
title: 'ARM: dts: samsung: exynos4412-origen: fix keypad no-autorepeat'
|
||||
mainline: 88208d3cd79821117fd3fb80d9bcab618467d37b
|
||||
backport: 9b2697403d29b12ef06ab68f4f2232291dfed184
|
||||
4c70a7576ae14f804196ae0089f9deb6cbd77e1f:
|
||||
title: 'ARM: dts: samsung: smdk4412: fix keypad no-autorepeat'
|
||||
mainline: 4ac4c1d794e7ff454d191bbdab7585ed8dbf3758
|
||||
backport: d350b585ee4796a3868be5f4cd8a29877275c819
|
||||
6721b33aa934e8afd255db9a466868f74f5c5cb5:
|
||||
title: 'selftests/ftrace: Fix checkbashisms errors'
|
||||
mainline: 72ce3daf92ba4f5bae6e91095d40e67b367c6b2f
|
||||
skipped: patched file is not in 4.14.y
|
||||
876d7d009c528caea5af95a70ab998374cbc7c7f:
|
||||
title: 'tracing: Add MODULE_DESCRIPTION() to preemptirq_delay_test'
|
||||
mainline: 23748e3e0fbfe471eff5ce439921629f6a427828
|
||||
skipped: fixes patch not in branch
|
||||
c23ead9986a17c793d39be11ce6c084904c9c44a:
|
||||
title: 'perf/core: Fix missing wakeup when waiting for context reference'
|
||||
mainline: 74751ef5c1912ebd3e65c3b65f45587e05ce5d36
|
||||
skipped: fixes patch not in branch
|
||||
4c003aef56d5642aefd4d11ee9d7e6755d4c1a6e:
|
||||
title: 'PCI: Add PCI_ERROR_RESPONSE and related definitions'
|
||||
mainline: 57bdeef4716689d9b0e3571034d65cf420f6efcd
|
||||
backport: dcea2cf5d7cca146641b67b8cbcc153cbfdeb0c3
|
||||
d4e52b36c73f44d2b5f41d0cd3f57b3d2efbf180:
|
||||
title: 'x86/amd_nb: Check for invalid SMN reads'
|
||||
mainline: c625dabbf1c4a8e77e4734014f2fde7aa9071a1f
|
||||
backport: f66ed725b522bfad043ec2dbcf50eff7ffc8feda
|
||||
b576d7d08f26d40789313ec6a8acc966a149c37f:
|
||||
title: 'iio: dac: ad5592r-base: Replace indio_dev->mlock with own device lock'
|
||||
mainline: 33c53cbf8f7bc8d62f6146a19da97c8594376ff0
|
||||
backport: e8b7b4167c95a9e6976479edda683c1b13ca0832
|
||||
c101996c9dabd9d809c12f686547b7035c087f10:
|
||||
title: 'iio: dac: ad5592r: un-indent code-block for scale read'
|
||||
mainline: b004fe33034cc64f72c20923be71cf1e6c9a624c
|
||||
backport: a28ae8f66b95e48a7ad69aa23382bd8486b6c529
|
||||
9eaaefbae8f5ddbed0fce822042ad969f5f876c5:
|
||||
title: 'iio: dac: ad5592r: fix temperature channel scaling value'
|
||||
mainline: 279428df888319bf68f2686934897301a250bb84
|
||||
backport: d9b6601da0310953862e47ebc5fe28f9bf37033a
|
||||
229e75730c784f7b871ae9bd76f8bd506d20a304:
|
||||
title: 'scsi: mpt3sas: Add ioc_<level> logging macros'
|
||||
mainline: 645a20c6821cd1ab58af8a1f99659e619c216efd
|
||||
backport: 675de54c63726a5b6316a7c3854219e10208f4ea
|
||||
230c290c74b956a4c26926c94a5bf932ca234884:
|
||||
title: 'scsi: mpt3sas: Gracefully handle online firmware update'
|
||||
mainline: ffedeae1fa545a1d07e6827180c3923bf67af59f
|
||||
backport: bd4e577402b93532aacc19b7f44c4963b763fafe
|
||||
e9bce7c751f6d6c7be88c0bc081a66aaf61a23ee:
|
||||
title: 'scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory'
|
||||
mainline: 4254dfeda82f20844299dca6c38cbffcfd499f41
|
||||
backport: 165419d81604a14fb6d0b111fd2f96288ec9528b
|
||||
8f667ee530a601449fede56370036e1d8d9a62dc:
|
||||
title: 'xhci: Use soft retry to recover faster from transaction errors'
|
||||
mainline: f8f80be501aa2f10669585c3e328fad079d8cb3a
|
||||
backport: de371a2bb30d1695a5c07357bd207e5aadefcd51
|
||||
ca0f0c5b0b991a71f61948bad09eb5f9e8cc4851:
|
||||
title: 'xhci: Set correct transferred length for cancelled bulk transfers'
|
||||
mainline: f0260589b439e2637ad54a2b25f00a516ef28a57
|
||||
backport: c73496b00b416467313ec64166d9d8d5d7e3a921
|
||||
2a28c0f457c5563cef9fbad803d9445eee0c1e05:
|
||||
title: 'usb: xhci: do not perform Soft Retry for some xHCI hosts'
|
||||
mainline: a4a251f8c23518899d2078c320cf9ce2fa459c9f
|
||||
backport: 3f74f1a0bd8b876661fb5263fa78048e2586065d
|
||||
e65a0dc2e85efb28e182aca50218e8a056d0ce04:
|
||||
title: 'pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER'
|
||||
mainline: adec57ff8e66aee632f3dd1f93787c13d112b7a1
|
||||
backport: d6636e9d955f53a9da4e40af4ddba67ab3391fbf
|
||||
860a562a61a838867c8d3f66d059a0fc7a67d1c9:
|
||||
title: 'pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins'
|
||||
mainline: e8448a6c817c2aa6c6af785b1d45678bd5977e8d
|
||||
backport: 0b45b7f4f6ee46da3efc4858af96e1a86e536250
|
||||
f8426b53f59f88c637143ffa31276be73a3c9b27:
|
||||
title: 'pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins'
|
||||
mainline: 5ef6914e0bf578357b4c906ffe6b26e7eedb8ccf
|
||||
backport: 0d6d13a0bb379aa59f6475c1bb6df7aaed21857f
|
||||
61c552e4ee1dbfa85d68997ab6e9d80690b401a7:
|
||||
title: 'pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set'
|
||||
mainline: 4ea4d4808e342ddf89ba24b93ffa2057005aaced
|
||||
backport: a1e6c61656a89e49007fd9847fe123acd15d31b9
|
||||
4ad7d49059358ceadd352b4e2511425bdb68f400:
|
||||
title: 'drm/amdgpu: fix UBSAN warning in kv_dpm.c'
|
||||
mainline: f0d576f840153392d04b2d52cf3adab8f62e8cb6
|
||||
backport: 90340ac06eb8a83a320c3bf2a31cc67eaf333478
|
||||
f696eaf675650cd57411020bb8b83f57e2de3f11:
|
||||
title: 'netfilter: nf_tables: validate family when identifying table via handle'
|
||||
mainline: f6e1532a2697b81da00bfb184e99d15e01e9d98c
|
||||
skipped: fixes patch not in branch
|
||||
ae81535ce2503aabc4adab3472f4338070cdeb6a:
|
||||
title: 'ASoC: fsl-asoc-card: set priv->pdev before using it'
|
||||
mainline: 90f3feb24172185f1832636264943e8b5e289245
|
||||
backport: f6658c76f5f0670445bebb35a9ccf3d5ae502806
|
||||
40188a25a9847dbeb7ec67517174a835a677752f:
|
||||
title: 'netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers'
|
||||
mainline: 7931d32955e09d0a11b1fe0b6aac1bfa061c005c
|
||||
backport: c01fc5238f6bb561e137d7b6e7df88c5107a263f
|
||||
b71348be1236398be2d04c5e145fd6eaae86a91b:
|
||||
title: 'drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep'
|
||||
mainline: ee7860cd8b5763017f8dc785c2851fecb7a0c565
|
||||
skipped: patched file is not in 4.14.y
|
||||
2b085521be5292016097b5e7ca81b26be3f7098d:
|
||||
title: 'net/iucv: Avoid explicit cpumask var allocation on stack'
|
||||
mainline: be4e1304419c99a164b4c0e101c7c2a756b635b9
|
||||
backport: 9578df8a6b21442b2451be92ea5ce59b2cc38505
|
||||
40d7def67841343c10f8642a41031fecbb248bab:
|
||||
title: 'ALSA: emux: improve patch ioctl data validation'
|
||||
mainline: 89b32ccb12ae67e630c6453d778ec30a592a212f
|
||||
backport: bf4ffd90f46475894c7d758eb26aa0f8a31dc245
|
||||
1925c902159d686372d897c2fa8ee4ea91b62d14:
|
||||
title: 'media: dvbdev: Initialize sbuf'
|
||||
mainline: 17d1316de0d7dc1bdc5d6e3ad4efd30a9bf1a381
|
||||
backport: 728e947a35ba429d96e495c170367211583d760e
|
||||
671abe2b126e6e39d52eefbf53106650ef2dd904:
|
||||
title: 'soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message'
|
||||
mainline: ddbf3204f600a4d1f153498f618369fca352ae00
|
||||
backport: cf89c5861a3b88fcef8ce222edd384bb5cb44934
|
||||
277ea9f9bf1171f0f02836ded9b65b9b8684322d:
|
||||
title: 'nvme: fixup comment for nvme RDMA Provider Type'
|
||||
mainline: f80a55fa90fa76d01e3fffaa5d0413e522ab9a00
|
||||
backport: 43bae0d9a7bd2f0a78a283b1440a74601b4a4f68
|
||||
a8d78984fdc105bc1a38b73e98d32b1bc4222684:
|
||||
title: 'gpio: davinci: Validate the obtained number of IRQs'
|
||||
mainline: 7aa9b96e9a73e4ec1771492d0527bd5fc5ef9164
|
||||
skipped: fixes patch not in branch
|
||||
c7999d372e7fe8bdfbc2226af1896e8bd328018a:
|
||||
title: 'i2c: ocores: stop transfer on timeout'
|
||||
mainline: e7663ef5ae0f02e3b902eb0305dec981333eb3e1
|
||||
backport: b4951f8134444e1eb7b28ea2234463f8ed077745
|
||||
1f7e4dd58af1267db2970e5c2e98a4d0ff170047:
|
||||
title: 'i2c: ocores: set IACK bit after core is enabled'
|
||||
mainline: 5a72477273066b5b357801ab2d315ef14949d402
|
||||
backport: 4d73d79702f3c0872f20dfd8a05974c7b18ebc7f
|
||||
65ebdde16e7f5da99dbf8a548fb635837d78384e:
|
||||
title: 'x86: stop playing stack games in profile_pc()'
|
||||
mainline: 093d9603b60093a9aaae942db56107f6432a5dca
|
||||
backport: 00eda93e9c842eecb76a1bc09b337e4f0cb043eb
|
||||
bba83bf85fc6fcca1e827fd88bf3998be9ad0d24:
|
||||
title: 'mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos'
|
||||
mainline: ebc4fc34eae8ddfbef49f2bdaced1bf4167ef80d
|
||||
backport: 51e44a77a5ca50e7e1f0548960bbb9eea83ff139
|
||||
75a024d3ab0d331fc1d0b640b00e63d31d556b1e:
|
||||
title: 'iio: adc: ad7266: Fix variable checking bug'
|
||||
mainline: a2b86132955268b2a1703082fbc2d4832fc001b8
|
||||
backport: b23dedd4318672a4265f48d90f8760b41b6f7006
|
||||
272736d778a42a3cdb623d53665a0e6a85125b66:
|
||||
title: 'iio: chemical: bme680: Fix pressure value output'
|
||||
mainline: ae1f7b93b52095be6776d0f34957b4f35dda44d9
|
||||
skipped: fixes patch not in branch
|
||||
d17f26afde5039c30297e9c6ffc273689e595154:
|
||||
title: 'iio: chemical: bme680: Fix calibration data variable'
|
||||
mainline: b47c0fee73a810c4503c4a94ea34858a1d865bba
|
||||
skipped: fixes patch not in branch
|
||||
6fa31bbe2ea8665ee970258eb8320cbf231dbe9e:
|
||||
title: 'iio: chemical: bme680: Fix overflows in compensate() functions'
|
||||
mainline: fdd478c3ae98c3f13628e110dce9b6cfb0d9b3c8
|
||||
skipped: fixes patch not in branch
|
||||
2e2ee64a367e97d433d1f9f735efb69f2612472b:
|
||||
title: 'iio: chemical: bme680: Fix sensor data read operation'
|
||||
mainline: 4241665e6ea063a9c1d734de790121a71db763fc
|
||||
skipped: fixes patch not in branch
|
||||
abb029e078e149d4d1f44a244cf833a6a1541447:
|
||||
title: 'net: usb: ax88179_178a: improve link status logs'
|
||||
mainline: 058722ee350c0bdd664e467156feb2bf5d9cc271
|
||||
backport: e4de596e5e18fb924bfe0048049cd04a285272f9
|
||||
a0886d04f1c7439b55c1c9daecd6b21ada2de5dd:
|
||||
title: 'usb: gadget: printer: SS+ support'
|
||||
mainline: fd80731e5e9d1402cb2f85022a6abf9b1982ec5f
|
||||
backport: cbc92ffc360a7b6f16408d7092c71d72bb9e0382
|
||||
a93b97349ba92cdc8b63ad09d28a873a467e1d62:
|
||||
title: 'usb: musb: da8xx: fix a resource leak in probe()'
|
||||
mainline: de644a4a86be04ed8a43ef8267d0f7d021941c5e
|
||||
backport: 7209de070ba2427bfa29373c649c6311b69580bc
|
||||
5159a81924311c1ec786ad9fdef784ead8676a6a:
|
||||
title: 'usb: atm: cxacru: fix endpoint checking in cxacru_bind()'
|
||||
mainline: 2eabb655a968b862bc0c31629a09f0fbf3c80d51
|
||||
backport: 4ddbe32a34bc9cc18c34282f88488d22c4178071
|
||||
0929fbe8194db19bfeed22f8c7f9b24da9f08bb9:
|
||||
title: 'tty: mcf: MCF54418 has 10 UARTS'
|
||||
mainline: 7c92a8bd53f24d50c8cf4aba53bb75505b382fed
|
||||
backport: c6f828c51833c0dcdd53b79a4eb5c8d5f5ebd56b
|
||||
72152ab85ae44e13df8b7a653b5f657b48fa3229:
|
||||
title: 'hexagon: fix fadvise64_64 calling conventions'
|
||||
mainline: 896842284c6ccba25ec9d78b7b6e62cdd507c083
|
||||
backport: 87cc48eed0c10fc8f13907410db3f1c76c77826b
|
||||
9289cd3450d1da3e271ef4b054d4d2932c41243e:
|
||||
title: 'drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes'
|
||||
mainline: 66edf3fb331b6c55439b10f9862987b0916b3726
|
||||
backport: 2dc9769a951e305b690994008bcc32ee0d57f3e2
|
||||
ffabad4aa91e33ced3c6ae793fb37771b3e9cb51:
|
||||
title: 'drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes'
|
||||
mainline: 6d411c8ccc0137a612e0044489030a194ff5c843
|
||||
backport: e2f974a4f127e38e7a5ec7a7ab51bb59d4392f17
|
||||
4d5a2d6b7a9a1140342c5229d1a427ec37a12fd4:
|
||||
title: 'batman-adv: Don''t accept TT entries for out-of-spec VIDs'
|
||||
mainline: 537a350d14321c8cca5efbf0a33a404fec3a9f9e
|
||||
backport: e6522330b7414dc7f96f547045bdc5db9de0cc3e
|
||||
290073b2b557e4dc21ee74a1e403d9ae79e393a2:
|
||||
title: 'ata: libata-core: Fix double free on error'
|
||||
mainline: ab9e0c529eb7cafebdd31fe1644524e80a48b05d
|
||||
skipped: fixes patch not in branch
|
||||
c329760749b5419769e57cb2be80955d2805f9c9:
|
||||
title: 'ftruncate: pass a signed offset'
|
||||
mainline: 4b8e88e563b5f666446d002ad0dc1e6e8e7102b0
|
||||
backport: 5696aad6bf4700041503e715bd2fb5d9dcf1fcc0
|
||||
19946741ea989605d12d2ffdbb006b9ca000dde8:
|
||||
title: 'pwm: stm32: Refuse too small period requests'
|
||||
mainline: c45fcf46ca2368dafe7e5c513a711a6f0f974308
|
||||
backport: 7128fc9dcb40ffa3ca16cc92eeb4aa3f65639c87
|
||||
13bda7ac5801f501bed6e21717dbf3b0df773847:
|
||||
title: 'ipv6: annotate some data-races around sk->sk_prot'
|
||||
mainline: 086d49058cd8471046ae9927524708820f5fd1c7
|
||||
backport: 81d8db9302d30505f89d672e1a39c60ed71a1dda
|
||||
fda6d62642a9c544a293d7ad7cb058f8c7f8f3dd:
|
||||
title: 'ipv6: Fix data races around sk->sk_prot.'
|
||||
mainline: 364f997b5cfe1db0d63a390fe7c801fa2b3115f6
|
||||
backport: 0904f321c3a052af42b094f786f75fe32f5d8f2d
|
||||
5bb642cc3355ffd3c8bca0a8bd8e6e65bcc2091c:
|
||||
title: 'tcp: Fix data races around icsk->icsk_af_ops.'
|
||||
mainline: f49cd2f4d6170d27a2c61f1fecb03d8a70c91f57
|
||||
backport: 1895f4d98247c54d045cd4a9c94c0802f3c270d5
|
||||
f7fc312d1d750db0ea867e50e6c436e0679a5a65:
|
||||
title: 'arm64: dts: rockchip: Add sound-dai-cells for RK3368'
|
||||
mainline: 8d7ec44aa5d1eb94a30319074762a1740440cdc8
|
||||
backport: 6658230562d296ef2484a1156ff322c558d3c26a
|
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 4
|
||||
PATCHLEVEL = 14
|
||||
SUBLEVEL = 349
|
||||
SUBLEVEL = 350
|
||||
EXTRAVERSION = -openela
|
||||
NAME = Petit Gorille
|
||||
|
||||
|
@ -67,7 +67,7 @@
|
||||
&keypad {
|
||||
samsung,keypad-num-rows = <2>;
|
||||
samsung,keypad-num-columns = <8>;
|
||||
linux,keypad-no-autorepeat;
|
||||
linux,input-no-autorepeat;
|
||||
wakeup-source;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&keypad_rows &keypad_cols>;
|
||||
|
@ -440,7 +440,7 @@
|
||||
&keypad {
|
||||
samsung,keypad-num-rows = <3>;
|
||||
samsung,keypad-num-columns = <2>;
|
||||
linux,keypad-no-autorepeat;
|
||||
linux,input-no-autorepeat;
|
||||
wakeup-source;
|
||||
pinctrl-0 = <&keypad_rows &keypad_cols>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -46,7 +46,7 @@
|
||||
&keypad {
|
||||
samsung,keypad-num-rows = <3>;
|
||||
samsung,keypad-num-columns = <8>;
|
||||
linux,keypad-no-autorepeat;
|
||||
linux,input-no-autorepeat;
|
||||
wakeup-source;
|
||||
pinctrl-0 = <&keypad_rows &keypad_cols>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -710,6 +710,7 @@
|
||||
dma-names = "tx";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spdif_tx>;
|
||||
#sound-dai-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -721,6 +722,7 @@
|
||||
clocks = <&cru SCLK_I2S_2CH>, <&cru HCLK_I2S_2CH>;
|
||||
dmas = <&dmac_bus 6>, <&dmac_bus 7>;
|
||||
dma-names = "tx", "rx";
|
||||
#sound-dai-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -734,6 +736,7 @@
|
||||
dma-names = "tx", "rx";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2s_8ch_bus>;
|
||||
#sound-dai-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
6
arch/hexagon/include/asm/syscalls.h
Normal file
6
arch/hexagon/include/asm/syscalls.h
Normal file
@ -0,0 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
|
||||
#include <asm-generic/syscalls.h>
|
||||
|
||||
asmlinkage long sys_hexagon_fadvise64_64(int fd, int advice,
|
||||
u32 a2, u32 a3, u32 a4, u32 a5);
|
@ -27,6 +27,13 @@
|
||||
#undef __SYSCALL
|
||||
#define __SYSCALL(nr, call) [nr] = (call),
|
||||
|
||||
SYSCALL_DEFINE6(hexagon_fadvise64_64, int, fd, int, advice,
|
||||
SC_ARG64(offset), SC_ARG64(len))
|
||||
{
|
||||
return ksys_fadvise64_64(fd, SC_VAL64(loff_t, offset), SC_VAL64(loff_t, len), advice);
|
||||
}
|
||||
#define sys_fadvise64_64 sys_hexagon_fadvise64_64
|
||||
|
||||
void *sys_call_table[__NR_syscalls] = {
|
||||
#include <asm/unistd.h>
|
||||
};
|
||||
|
@ -112,8 +112,8 @@ retry:
|
||||
* gives them time to settle
|
||||
*/
|
||||
if (where == PCI_VENDOR_ID) {
|
||||
if (ret == 0xffffffff || ret == 0x00000000 ||
|
||||
ret == 0x0000ffff || ret == 0xffff0000) {
|
||||
if (*val == 0xffffffff || *val == 0x00000000 ||
|
||||
*val == 0x0000ffff || *val == 0xffff0000) {
|
||||
if (delay > 4)
|
||||
return 0;
|
||||
delay *= 2;
|
||||
|
6
arch/mips/pci/pcie-octeon.c
Normal file → Executable file
6
arch/mips/pci/pcie-octeon.c
Normal file → Executable file
@ -232,12 +232,18 @@ static inline uint64_t __cvmx_pcie_build_config_addr(int pcie_port, int bus,
|
||||
{
|
||||
union cvmx_pcie_address pcie_addr;
|
||||
union cvmx_pciercx_cfg006 pciercx_cfg006;
|
||||
union cvmx_pciercx_cfg032 pciercx_cfg032;
|
||||
|
||||
pciercx_cfg006.u32 =
|
||||
cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG006(pcie_port));
|
||||
if ((bus <= pciercx_cfg006.s.pbnum) && (dev != 0))
|
||||
return 0;
|
||||
|
||||
pciercx_cfg032.u32 =
|
||||
cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port));
|
||||
if ((pciercx_cfg032.s.dlla == 0) || (pciercx_cfg032.s.lt == 1))
|
||||
return 0;
|
||||
|
||||
pcie_addr.u64 = 0;
|
||||
pcie_addr.config.upper = 2;
|
||||
pcie_addr.config.io = 1;
|
||||
|
@ -381,7 +381,7 @@ long plpar_hcall_norets(unsigned long opcode, ...);
|
||||
* Used for all but the craziest of phyp interfaces (see plpar_hcall9)
|
||||
*/
|
||||
#define PLPAR_HCALL_BUFSIZE 4
|
||||
long plpar_hcall(unsigned long opcode, unsigned long *retbuf, ...);
|
||||
long plpar_hcall(unsigned long opcode, unsigned long retbuf[static PLPAR_HCALL_BUFSIZE], ...);
|
||||
|
||||
/**
|
||||
* plpar_hcall_raw: - Make a hypervisor call without calculating hcall stats
|
||||
@ -395,7 +395,7 @@ long plpar_hcall(unsigned long opcode, unsigned long *retbuf, ...);
|
||||
* plpar_hcall, but plpar_hcall_raw works in real mode and does not
|
||||
* calculate hypervisor call statistics.
|
||||
*/
|
||||
long plpar_hcall_raw(unsigned long opcode, unsigned long *retbuf, ...);
|
||||
long plpar_hcall_raw(unsigned long opcode, unsigned long retbuf[static PLPAR_HCALL_BUFSIZE], ...);
|
||||
|
||||
/**
|
||||
* plpar_hcall9: - Make a pseries hypervisor call with up to 9 return arguments
|
||||
@ -406,8 +406,8 @@ long plpar_hcall_raw(unsigned long opcode, unsigned long *retbuf, ...);
|
||||
* PLPAR_HCALL9_BUFSIZE to size the return argument buffer.
|
||||
*/
|
||||
#define PLPAR_HCALL9_BUFSIZE 9
|
||||
long plpar_hcall9(unsigned long opcode, unsigned long *retbuf, ...);
|
||||
long plpar_hcall9_raw(unsigned long opcode, unsigned long *retbuf, ...);
|
||||
long plpar_hcall9(unsigned long opcode, unsigned long retbuf[static PLPAR_HCALL9_BUFSIZE], ...);
|
||||
long plpar_hcall9_raw(unsigned long opcode, unsigned long retbuf[static PLPAR_HCALL9_BUFSIZE], ...);
|
||||
|
||||
struct hvcall_mpp_data {
|
||||
unsigned long entitled_mem;
|
||||
|
@ -537,12 +537,12 @@ __do_out_asm(_rec_outl, "stwbrx")
|
||||
#define __do_inw(port) _rec_inw(port)
|
||||
#define __do_inl(port) _rec_inl(port)
|
||||
#else /* CONFIG_PPC32 */
|
||||
#define __do_outb(val, port) writeb(val,(PCI_IO_ADDR)_IO_BASE+port);
|
||||
#define __do_outw(val, port) writew(val,(PCI_IO_ADDR)_IO_BASE+port);
|
||||
#define __do_outl(val, port) writel(val,(PCI_IO_ADDR)_IO_BASE+port);
|
||||
#define __do_inb(port) readb((PCI_IO_ADDR)_IO_BASE + port);
|
||||
#define __do_inw(port) readw((PCI_IO_ADDR)_IO_BASE + port);
|
||||
#define __do_inl(port) readl((PCI_IO_ADDR)_IO_BASE + port);
|
||||
#define __do_outb(val, port) writeb(val,(PCI_IO_ADDR)(_IO_BASE+port));
|
||||
#define __do_outw(val, port) writew(val,(PCI_IO_ADDR)(_IO_BASE+port));
|
||||
#define __do_outl(val, port) writel(val,(PCI_IO_ADDR)(_IO_BASE+port));
|
||||
#define __do_inb(port) readb((PCI_IO_ADDR)(_IO_BASE + port));
|
||||
#define __do_inw(port) readw((PCI_IO_ADDR)(_IO_BASE + port));
|
||||
#define __do_inl(port) readl((PCI_IO_ADDR)(_IO_BASE + port));
|
||||
#endif /* !CONFIG_PPC32 */
|
||||
|
||||
#ifdef CONFIG_EEH
|
||||
@ -558,12 +558,12 @@ __do_out_asm(_rec_outl, "stwbrx")
|
||||
#define __do_writesw(a, b, n) _outsw(PCI_FIX_ADDR(a),(b),(n))
|
||||
#define __do_writesl(a, b, n) _outsl(PCI_FIX_ADDR(a),(b),(n))
|
||||
|
||||
#define __do_insb(p, b, n) readsb((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
|
||||
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
|
||||
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
|
||||
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
|
||||
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
|
||||
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
|
||||
#define __do_insb(p, b, n) readsb((PCI_IO_ADDR)(_IO_BASE+(p)), (b), (n))
|
||||
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)(_IO_BASE+(p)), (b), (n))
|
||||
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)(_IO_BASE+(p)), (b), (n))
|
||||
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)(_IO_BASE+(p)),(b),(n))
|
||||
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)(_IO_BASE+(p)),(b),(n))
|
||||
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)(_IO_BASE+(p)),(b),(n))
|
||||
|
||||
#define __do_memset_io(addr, c, n) \
|
||||
_memset_io(PCI_FIX_ADDR(addr), c, n)
|
||||
|
@ -128,7 +128,14 @@ out:
|
||||
|
||||
int amd_smn_read(u16 node, u32 address, u32 *value)
|
||||
{
|
||||
return __amd_smn_rw(node, address, value, false);
|
||||
int err = __amd_smn_rw(node, address, value, false);
|
||||
|
||||
if (PCI_POSSIBLE_ERROR(*value)) {
|
||||
err = -ENODEV;
|
||||
*value = 0;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(amd_smn_read);
|
||||
|
||||
|
@ -26,26 +26,7 @@
|
||||
|
||||
unsigned long profile_pc(struct pt_regs *regs)
|
||||
{
|
||||
unsigned long pc = instruction_pointer(regs);
|
||||
|
||||
if (!user_mode(regs) && in_lock_functions(pc)) {
|
||||
#ifdef CONFIG_FRAME_POINTER
|
||||
return *(unsigned long *)(regs->bp + sizeof(long));
|
||||
#else
|
||||
unsigned long *sp =
|
||||
(unsigned long *)kernel_stack_pointer(regs);
|
||||
/*
|
||||
* Return address is either directly at stack pointer
|
||||
* or above a saved flags. Eflags has bits 22-31 zero,
|
||||
* kernel addresses don't.
|
||||
*/
|
||||
if (sp[0] >> 22)
|
||||
return sp[0];
|
||||
if (sp[1] >> 22)
|
||||
return sp[1];
|
||||
#endif
|
||||
}
|
||||
return pc;
|
||||
return instruction_pointer(regs);
|
||||
}
|
||||
EXPORT_SYMBOL(profile_pc);
|
||||
|
||||
|
@ -77,7 +77,6 @@ acpi_ex_system_memory_space_handler(u32 function,
|
||||
struct acpi_mem_space_context *mem_info = region_context;
|
||||
u32 length;
|
||||
acpi_size map_length;
|
||||
acpi_size page_boundary_map_length;
|
||||
#ifdef ACPI_MISALIGNMENT_NOT_SUPPORTED
|
||||
u32 remainder;
|
||||
#endif
|
||||
@ -154,26 +153,8 @@ acpi_ex_system_memory_space_handler(u32 function,
|
||||
map_length = (acpi_size)
|
||||
((mem_info->address + mem_info->length) - address);
|
||||
|
||||
/*
|
||||
* If mapping the entire remaining portion of the region will cross
|
||||
* a page boundary, just map up to the page boundary, do not cross.
|
||||
* On some systems, crossing a page boundary while mapping regions
|
||||
* can cause warnings if the pages have different attributes
|
||||
* due to resource management.
|
||||
*
|
||||
* This has the added benefit of constraining a single mapping to
|
||||
* one page, which is similar to the original code that used a 4k
|
||||
* maximum window.
|
||||
*/
|
||||
page_boundary_map_length = (acpi_size)
|
||||
(ACPI_ROUND_UP(address, ACPI_DEFAULT_PAGE_SIZE) - address);
|
||||
if (page_boundary_map_length == 0) {
|
||||
page_boundary_map_length = ACPI_DEFAULT_PAGE_SIZE;
|
||||
}
|
||||
|
||||
if (map_length > page_boundary_map_length) {
|
||||
map_length = page_boundary_map_length;
|
||||
}
|
||||
if (map_length > ACPI_DEFAULT_PAGE_SIZE)
|
||||
map_length = ACPI_DEFAULT_PAGE_SIZE;
|
||||
|
||||
/* Create a new mapping starting at the address given */
|
||||
|
||||
|
@ -1004,8 +1004,11 @@ static ssize_t uevent_show(struct device *dev, struct device_attribute *attr,
|
||||
if (!env)
|
||||
return -ENOMEM;
|
||||
|
||||
/* Synchronize with really_probe() */
|
||||
device_lock(dev);
|
||||
/* let the kset specific function add its keys */
|
||||
retval = kset->uevent_ops->uevent(kset, &dev->kobj, env);
|
||||
device_unlock(dev);
|
||||
if (retval)
|
||||
goto out;
|
||||
|
||||
|
@ -675,8 +675,8 @@ static int axi_dmac_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct axi_dmac *dmac = platform_get_drvdata(pdev);
|
||||
|
||||
of_dma_controller_free(pdev->dev.of_node);
|
||||
free_irq(dmac->irq, dmac);
|
||||
of_dma_controller_free(pdev->dev.of_node);
|
||||
tasklet_kill(&dmac->chan.vchan.task);
|
||||
dma_async_device_unregister(&dmac->dma_dev);
|
||||
clk_disable_unprepare(dmac->clk);
|
||||
|
@ -1429,6 +1429,7 @@ module_init(ioat_init_module);
|
||||
static void __exit ioat_exit_module(void)
|
||||
{
|
||||
pci_unregister_driver(&ioat_pci_driver);
|
||||
kmem_cache_destroy(ioat_sed_cache);
|
||||
kmem_cache_destroy(ioat_cache);
|
||||
}
|
||||
module_exit(ioat_exit_module);
|
||||
|
@ -165,6 +165,8 @@ static void sumo_construct_vid_mapping_table(struct amdgpu_device *adev,
|
||||
|
||||
for (i = 0; i < SUMO_MAX_HARDWARE_POWERLEVELS; i++) {
|
||||
if (table[i].ulSupportedSCLK != 0) {
|
||||
if (table[i].usVoltageIndex >= SUMO_MAX_NUMBER_VOLTAGES)
|
||||
continue;
|
||||
vid_mapping_table->entries[table[i].usVoltageIndex].vid_7bit =
|
||||
table[i].usVoltageID;
|
||||
vid_mapping_table->entries[table[i].usVoltageIndex].vid_2bit =
|
||||
|
@ -197,9 +197,12 @@ EXPORT_SYMBOL(drm_panel_bridge_remove);
|
||||
|
||||
static void devm_drm_panel_bridge_release(struct device *dev, void *res)
|
||||
{
|
||||
struct drm_bridge **bridge = res;
|
||||
struct drm_bridge *bridge = *(struct drm_bridge **)res;
|
||||
|
||||
drm_panel_bridge_remove(*bridge);
|
||||
if (!bridge)
|
||||
return;
|
||||
|
||||
drm_bridge_remove(bridge);
|
||||
}
|
||||
|
||||
struct drm_bridge *devm_drm_panel_bridge_add(struct device *dev,
|
||||
|
@ -302,6 +302,7 @@ static int vidi_get_modes(struct drm_connector *connector)
|
||||
struct vidi_context *ctx = ctx_from_connector(connector);
|
||||
struct edid *edid;
|
||||
int edid_len;
|
||||
int count;
|
||||
|
||||
/*
|
||||
* the edid data comes from user side and it would be set
|
||||
@ -321,7 +322,11 @@ static int vidi_get_modes(struct drm_connector *connector)
|
||||
|
||||
drm_mode_connector_update_edid_property(connector, edid);
|
||||
|
||||
return drm_add_edid_modes(connector, edid);
|
||||
count = drm_add_edid_modes(connector, edid);
|
||||
|
||||
kfree(edid);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
static const struct drm_connector_helper_funcs vidi_connector_helper_funcs = {
|
||||
|
@ -208,6 +208,8 @@ static int nv17_tv_get_ld_modes(struct drm_encoder *encoder,
|
||||
struct drm_display_mode *mode;
|
||||
|
||||
mode = drm_mode_duplicate(encoder->dev, tv_mode);
|
||||
if (!mode)
|
||||
continue;
|
||||
|
||||
mode->clock = tv_norm->tv_enc_mode.vrefresh *
|
||||
mode->htotal / 1000 *
|
||||
@ -257,6 +259,8 @@ static int nv17_tv_get_hd_modes(struct drm_encoder *encoder,
|
||||
if (modes[i].hdisplay == output_mode->hdisplay &&
|
||||
modes[i].vdisplay == output_mode->vdisplay) {
|
||||
mode = drm_mode_duplicate(encoder->dev, output_mode);
|
||||
if (!mode)
|
||||
continue;
|
||||
mode->type |= DRM_MODE_TYPE_PREFERRED;
|
||||
|
||||
} else {
|
||||
@ -264,6 +268,8 @@ static int nv17_tv_get_hd_modes(struct drm_encoder *encoder,
|
||||
modes[i].vdisplay, 60, false,
|
||||
(output_mode->flags &
|
||||
DRM_MODE_FLAG_INTERLACE), false);
|
||||
if (!mode)
|
||||
continue;
|
||||
}
|
||||
|
||||
/* CVT modes are sometimes unsuitable... */
|
||||
|
@ -1621,6 +1621,8 @@ void sumo_construct_vid_mapping_table(struct radeon_device *rdev,
|
||||
|
||||
for (i = 0; i < SUMO_MAX_HARDWARE_POWERLEVELS; i++) {
|
||||
if (table[i].ulSupportedSCLK != 0) {
|
||||
if (table[i].usVoltageIndex >= SUMO_MAX_NUMBER_VOLTAGES)
|
||||
continue;
|
||||
vid_mapping_table->entries[table[i].usVoltageIndex].vid_7bit =
|
||||
table[i].usVoltageID;
|
||||
vid_mapping_table->entries[table[i].usVoltageIndex].vid_2bit =
|
||||
|
@ -1258,7 +1258,6 @@ static void implement(const struct hid_device *hid, u8 *report,
|
||||
hid_warn(hid,
|
||||
"%s() called with too large value %d (n: %d)! (%s)\n",
|
||||
__func__, value, n, current->comm);
|
||||
WARN_ON(1);
|
||||
value &= m;
|
||||
}
|
||||
}
|
||||
|
@ -294,10 +294,23 @@ static void timesync_onchannelcallback(void *context)
|
||||
struct ictimesync_ref_data *refdata;
|
||||
u8 *time_txf_buf = util_timesynch.recv_buffer;
|
||||
|
||||
vmbus_recvpacket(channel, time_txf_buf,
|
||||
PAGE_SIZE, &recvlen, &requestid);
|
||||
/*
|
||||
* Drain the ring buffer and use the last packet to update
|
||||
* host_ts
|
||||
*/
|
||||
while (1) {
|
||||
int ret = vmbus_recvpacket(channel, time_txf_buf,
|
||||
PAGE_SIZE, &recvlen,
|
||||
&requestid);
|
||||
if (ret) {
|
||||
pr_warn_once("TimeSync IC pkt recv failed (Err: %d)\n",
|
||||
ret);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!recvlen)
|
||||
break;
|
||||
|
||||
if (recvlen > 0) {
|
||||
icmsghdrp = (struct icmsg_hdr *)&time_txf_buf[
|
||||
sizeof(struct vmbuspipe_hdr)];
|
||||
|
||||
|
@ -263,6 +263,11 @@ static const struct pci_device_id intel_th_pci_id_table[] = {
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xae24),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Meteor Lake-S */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x7f26),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Raptor Lake-S */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x7a26),
|
||||
@ -273,6 +278,26 @@ static const struct pci_device_id intel_th_pci_id_table[] = {
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x7e24),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Granite Rapids */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0963),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Granite Rapids SOC */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x3256),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Sapphire Rapids SOC */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x3456),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Lunar Lake */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xa824),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Rocket Lake CPU */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4c19),
|
||||
|
@ -25,7 +25,12 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/log2.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
/**
|
||||
* @process_lock: protect I2C transfer process.
|
||||
* ocores_process() and ocores_process_timeout() can't run in parallel.
|
||||
*/
|
||||
struct ocores_i2c {
|
||||
void __iomem *base;
|
||||
u32 reg_shift;
|
||||
@ -36,6 +41,7 @@ struct ocores_i2c {
|
||||
int pos;
|
||||
int nmsgs;
|
||||
int state; /* see STATE_ */
|
||||
spinlock_t process_lock;
|
||||
struct clk *clk;
|
||||
int ip_clock_khz;
|
||||
int bus_clock_khz;
|
||||
@ -141,19 +147,26 @@ static void ocores_process(struct ocores_i2c *i2c)
|
||||
{
|
||||
struct i2c_msg *msg = i2c->msg;
|
||||
u8 stat = oc_getreg(i2c, OCI2C_STATUS);
|
||||
unsigned long flags;
|
||||
|
||||
/*
|
||||
* If we spin here is because we are in timeout, so we are going
|
||||
* to be in STATE_ERROR. See ocores_process_timeout()
|
||||
*/
|
||||
spin_lock_irqsave(&i2c->process_lock, flags);
|
||||
|
||||
if ((i2c->state == STATE_DONE) || (i2c->state == STATE_ERROR)) {
|
||||
/* stop has been sent */
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_IACK);
|
||||
wake_up(&i2c->wait);
|
||||
return;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* error? */
|
||||
if (stat & OCI2C_STAT_ARBLOST) {
|
||||
i2c->state = STATE_ERROR;
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_STOP);
|
||||
return;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if ((i2c->state == STATE_START) || (i2c->state == STATE_WRITE)) {
|
||||
@ -163,7 +176,7 @@ static void ocores_process(struct ocores_i2c *i2c)
|
||||
if (stat & OCI2C_STAT_NACK) {
|
||||
i2c->state = STATE_ERROR;
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_STOP);
|
||||
return;
|
||||
goto out;
|
||||
}
|
||||
} else
|
||||
msg->buf[i2c->pos++] = oc_getreg(i2c, OCI2C_DATA);
|
||||
@ -184,14 +197,14 @@ static void ocores_process(struct ocores_i2c *i2c)
|
||||
|
||||
oc_setreg(i2c, OCI2C_DATA, addr);
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_START);
|
||||
return;
|
||||
goto out;
|
||||
} else
|
||||
i2c->state = (msg->flags & I2C_M_RD)
|
||||
? STATE_READ : STATE_WRITE;
|
||||
} else {
|
||||
i2c->state = STATE_DONE;
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_STOP);
|
||||
return;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
@ -202,6 +215,9 @@ static void ocores_process(struct ocores_i2c *i2c)
|
||||
oc_setreg(i2c, OCI2C_DATA, msg->buf[i2c->pos++]);
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_WRITE);
|
||||
}
|
||||
|
||||
out:
|
||||
spin_unlock_irqrestore(&i2c->process_lock, flags);
|
||||
}
|
||||
|
||||
static irqreturn_t ocores_isr(int irq, void *dev_id)
|
||||
@ -213,9 +229,24 @@ static irqreturn_t ocores_isr(int irq, void *dev_id)
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process timeout event
|
||||
* @i2c: ocores I2C device instance
|
||||
*/
|
||||
static void ocores_process_timeout(struct ocores_i2c *i2c)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&i2c->process_lock, flags);
|
||||
i2c->state = STATE_ERROR;
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_STOP);
|
||||
spin_unlock_irqrestore(&i2c->process_lock, flags);
|
||||
}
|
||||
|
||||
static int ocores_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
|
||||
{
|
||||
struct ocores_i2c *i2c = i2c_get_adapdata(adap);
|
||||
int ret;
|
||||
|
||||
i2c->msg = msgs;
|
||||
i2c->pos = 0;
|
||||
@ -228,11 +259,14 @@ static int ocores_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
|
||||
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_START);
|
||||
|
||||
if (wait_event_timeout(i2c->wait, (i2c->state == STATE_ERROR) ||
|
||||
(i2c->state == STATE_DONE), HZ))
|
||||
return (i2c->state == STATE_DONE) ? num : -EIO;
|
||||
else
|
||||
ret = wait_event_timeout(i2c->wait, (i2c->state == STATE_ERROR) ||
|
||||
(i2c->state == STATE_DONE), HZ);
|
||||
if (ret == 0) {
|
||||
ocores_process_timeout(i2c);
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
|
||||
return (i2c->state == STATE_DONE) ? num : -EIO;
|
||||
}
|
||||
|
||||
static int ocores_init(struct device *dev, struct ocores_i2c *i2c)
|
||||
@ -259,8 +293,8 @@ static int ocores_init(struct device *dev, struct ocores_i2c *i2c)
|
||||
oc_setreg(i2c, OCI2C_PREHIGH, prescale >> 8);
|
||||
|
||||
/* Init the device */
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_IACK);
|
||||
oc_setreg(i2c, OCI2C_CONTROL, ctrl | OCI2C_CTRL_IEN | OCI2C_CTRL_EN);
|
||||
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_IACK);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -425,6 +459,8 @@ static int ocores_i2c_probe(struct platform_device *pdev)
|
||||
if (!i2c)
|
||||
return -ENOMEM;
|
||||
|
||||
spin_lock_init(&i2c->process_lock);
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
i2c->base = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(i2c->base))
|
||||
|
@ -160,6 +160,8 @@ static int ad7266_read_raw(struct iio_dev *indio_dev,
|
||||
ret = ad7266_read_single(st, val, chan->address);
|
||||
iio_device_release_direct_mode(indio_dev);
|
||||
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
*val = (*val >> 2) & 0xfff;
|
||||
if (chan->scan_type.sign == 's')
|
||||
*val = sign_extend32(*val, 11);
|
||||
|
@ -158,7 +158,6 @@ static void ad5592r_gpio_cleanup(struct ad5592r_state *st)
|
||||
static int ad5592r_reset(struct ad5592r_state *st)
|
||||
{
|
||||
struct gpio_desc *gpio;
|
||||
struct iio_dev *iio_dev = iio_priv_to_dev(st);
|
||||
|
||||
gpio = devm_gpiod_get_optional(st->dev, "reset", GPIOD_OUT_LOW);
|
||||
if (IS_ERR(gpio))
|
||||
@ -168,10 +167,10 @@ static int ad5592r_reset(struct ad5592r_state *st)
|
||||
udelay(1);
|
||||
gpiod_set_value(gpio, 1);
|
||||
} else {
|
||||
mutex_lock(&iio_dev->mlock);
|
||||
mutex_lock(&st->lock);
|
||||
/* Writing this magic value resets the device */
|
||||
st->ops->reg_write(st, AD5592R_REG_RESET, 0xdac);
|
||||
mutex_unlock(&iio_dev->mlock);
|
||||
mutex_unlock(&st->lock);
|
||||
}
|
||||
|
||||
udelay(250);
|
||||
@ -199,7 +198,6 @@ static int ad5592r_set_channel_modes(struct ad5592r_state *st)
|
||||
const struct ad5592r_rw_ops *ops = st->ops;
|
||||
int ret;
|
||||
unsigned i;
|
||||
struct iio_dev *iio_dev = iio_priv_to_dev(st);
|
||||
u8 pulldown = 0, tristate = 0, dac = 0, adc = 0;
|
||||
u16 read_back;
|
||||
|
||||
@ -249,7 +247,7 @@ static int ad5592r_set_channel_modes(struct ad5592r_state *st)
|
||||
}
|
||||
}
|
||||
|
||||
mutex_lock(&iio_dev->mlock);
|
||||
mutex_lock(&st->lock);
|
||||
|
||||
/* Pull down unused pins to GND */
|
||||
ret = ops->reg_write(st, AD5592R_REG_PULLDOWN, pulldown);
|
||||
@ -287,7 +285,7 @@ static int ad5592r_set_channel_modes(struct ad5592r_state *st)
|
||||
ret = -EIO;
|
||||
|
||||
err_unlock:
|
||||
mutex_unlock(&iio_dev->mlock);
|
||||
mutex_unlock(&st->lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -316,11 +314,11 @@ static int ad5592r_write_raw(struct iio_dev *iio_dev,
|
||||
if (!chan->output)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&iio_dev->mlock);
|
||||
mutex_lock(&st->lock);
|
||||
ret = st->ops->write_dac(st, chan->channel, val);
|
||||
if (!ret)
|
||||
st->cached_dac[chan->channel] = val;
|
||||
mutex_unlock(&iio_dev->mlock);
|
||||
mutex_unlock(&st->lock);
|
||||
return ret;
|
||||
case IIO_CHAN_INFO_SCALE:
|
||||
if (chan->type == IIO_VOLTAGE) {
|
||||
@ -335,12 +333,12 @@ static int ad5592r_write_raw(struct iio_dev *iio_dev,
|
||||
else
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&iio_dev->mlock);
|
||||
mutex_lock(&st->lock);
|
||||
|
||||
ret = st->ops->reg_read(st, AD5592R_REG_CTRL,
|
||||
&st->cached_gp_ctrl);
|
||||
if (ret < 0) {
|
||||
mutex_unlock(&iio_dev->mlock);
|
||||
mutex_unlock(&st->lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -362,7 +360,7 @@ static int ad5592r_write_raw(struct iio_dev *iio_dev,
|
||||
|
||||
ret = st->ops->reg_write(st, AD5592R_REG_CTRL,
|
||||
st->cached_gp_ctrl);
|
||||
mutex_unlock(&iio_dev->mlock);
|
||||
mutex_unlock(&st->lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -380,11 +378,11 @@ static int ad5592r_read_raw(struct iio_dev *iio_dev,
|
||||
{
|
||||
struct ad5592r_state *st = iio_priv(iio_dev);
|
||||
u16 read_val;
|
||||
int ret;
|
||||
int ret, mult;
|
||||
|
||||
switch (m) {
|
||||
case IIO_CHAN_INFO_RAW:
|
||||
mutex_lock(&iio_dev->mlock);
|
||||
mutex_lock(&st->lock);
|
||||
|
||||
if (!chan->output) {
|
||||
ret = st->ops->read_adc(st, chan->channel, &read_val);
|
||||
@ -417,29 +415,27 @@ static int ad5592r_read_raw(struct iio_dev *iio_dev,
|
||||
s64 tmp = *val * (3767897513LL / 25LL);
|
||||
*val = div_s64_rem(tmp, 1000000000LL, val2);
|
||||
|
||||
return IIO_VAL_INT_PLUS_MICRO;
|
||||
} else {
|
||||
int mult;
|
||||
|
||||
mutex_lock(&iio_dev->mlock);
|
||||
|
||||
if (chan->output)
|
||||
mult = !!(st->cached_gp_ctrl &
|
||||
AD5592R_REG_CTRL_DAC_RANGE);
|
||||
else
|
||||
mult = !!(st->cached_gp_ctrl &
|
||||
AD5592R_REG_CTRL_ADC_RANGE);
|
||||
|
||||
*val *= ++mult;
|
||||
|
||||
*val2 = chan->scan_type.realbits;
|
||||
ret = IIO_VAL_FRACTIONAL_LOG2;
|
||||
return IIO_VAL_INT_PLUS_NANO;
|
||||
}
|
||||
|
||||
mutex_lock(&st->lock);
|
||||
|
||||
if (chan->output)
|
||||
mult = !!(st->cached_gp_ctrl &
|
||||
AD5592R_REG_CTRL_DAC_RANGE);
|
||||
else
|
||||
mult = !!(st->cached_gp_ctrl &
|
||||
AD5592R_REG_CTRL_ADC_RANGE);
|
||||
|
||||
*val *= ++mult;
|
||||
|
||||
*val2 = chan->scan_type.realbits;
|
||||
ret = IIO_VAL_FRACTIONAL_LOG2;
|
||||
break;
|
||||
case IIO_CHAN_INFO_OFFSET:
|
||||
ret = ad5592r_get_vref(st);
|
||||
|
||||
mutex_lock(&iio_dev->mlock);
|
||||
mutex_lock(&st->lock);
|
||||
|
||||
if (st->cached_gp_ctrl & AD5592R_REG_CTRL_ADC_RANGE)
|
||||
*val = (-34365 * 25) / ret;
|
||||
@ -452,7 +448,7 @@ static int ad5592r_read_raw(struct iio_dev *iio_dev,
|
||||
}
|
||||
|
||||
unlock:
|
||||
mutex_unlock(&iio_dev->mlock);
|
||||
mutex_unlock(&st->lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -627,6 +623,8 @@ int ad5592r_probe(struct device *dev, const char *name,
|
||||
iio_dev->info = &ad5592r_info;
|
||||
iio_dev->modes = INDIO_DIRECT_MODE;
|
||||
|
||||
mutex_init(&st->lock);
|
||||
|
||||
ad5592r_init_scales(st, ad5592r_get_vref(st));
|
||||
|
||||
ret = ad5592r_reset(st);
|
||||
|
@ -53,6 +53,7 @@ struct ad5592r_state {
|
||||
struct regulator *reg;
|
||||
struct gpio_chip gpiochip;
|
||||
struct mutex gpio_lock; /* Protect cached gpio_out, gpio_val, etc. */
|
||||
struct mutex lock;
|
||||
unsigned int num_channels;
|
||||
const struct ad5592r_rw_ops *ops;
|
||||
int scale_avail[2][2];
|
||||
|
@ -1337,19 +1337,19 @@ static int input_print_modalias_bits(char *buf, int size,
|
||||
char name, unsigned long *bm,
|
||||
unsigned int min_bit, unsigned int max_bit)
|
||||
{
|
||||
int len = 0, i;
|
||||
int bit = min_bit;
|
||||
int len = 0;
|
||||
|
||||
len += snprintf(buf, max(size, 0), "%c", name);
|
||||
for (i = min_bit; i < max_bit; i++)
|
||||
if (bm[BIT_WORD(i)] & BIT_MASK(i))
|
||||
len += snprintf(buf + len, max(size - len, 0), "%X,", i);
|
||||
for_each_set_bit_from(bit, bm, max_bit)
|
||||
len += snprintf(buf + len, max(size - len, 0), "%X,", bit);
|
||||
return len;
|
||||
}
|
||||
|
||||
static int input_print_modalias(char *buf, int size, struct input_dev *id,
|
||||
int add_cr)
|
||||
static int input_print_modalias_parts(char *buf, int size, int full_len,
|
||||
struct input_dev *id)
|
||||
{
|
||||
int len;
|
||||
int len, klen, remainder, space;
|
||||
|
||||
len = snprintf(buf, max(size, 0),
|
||||
"input:b%04Xv%04Xp%04Xe%04X-",
|
||||
@ -1358,8 +1358,49 @@ static int input_print_modalias(char *buf, int size, struct input_dev *id,
|
||||
|
||||
len += input_print_modalias_bits(buf + len, size - len,
|
||||
'e', id->evbit, 0, EV_MAX);
|
||||
len += input_print_modalias_bits(buf + len, size - len,
|
||||
|
||||
/*
|
||||
* Calculate the remaining space in the buffer making sure we
|
||||
* have place for the terminating 0.
|
||||
*/
|
||||
space = max(size - (len + 1), 0);
|
||||
|
||||
klen = input_print_modalias_bits(buf + len, size - len,
|
||||
'k', id->keybit, KEY_MIN_INTERESTING, KEY_MAX);
|
||||
len += klen;
|
||||
|
||||
/*
|
||||
* If we have more data than we can fit in the buffer, check
|
||||
* if we can trim key data to fit in the rest. We will indicate
|
||||
* that key data is incomplete by adding "+" sign at the end, like
|
||||
* this: * "k1,2,3,45,+,".
|
||||
*
|
||||
* Note that we shortest key info (if present) is "k+," so we
|
||||
* can only try to trim if key data is longer than that.
|
||||
*/
|
||||
if (full_len && size < full_len + 1 && klen > 3) {
|
||||
remainder = full_len - len;
|
||||
/*
|
||||
* We can only trim if we have space for the remainder
|
||||
* and also for at least "k+," which is 3 more characters.
|
||||
*/
|
||||
if (remainder <= space - 3) {
|
||||
int i;
|
||||
/*
|
||||
* We are guaranteed to have 'k' in the buffer, so
|
||||
* we need at least 3 additional bytes for storing
|
||||
* "+," in addition to the remainder.
|
||||
*/
|
||||
for (i = size - 1 - remainder - 3; i >= 0; i--) {
|
||||
if (buf[i] == 'k' || buf[i] == ',') {
|
||||
strcpy(buf + i + 1, "+,");
|
||||
len = i + 3; /* Not counting '\0' */
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
len += input_print_modalias_bits(buf + len, size - len,
|
||||
'r', id->relbit, 0, REL_MAX);
|
||||
len += input_print_modalias_bits(buf + len, size - len,
|
||||
@ -1375,12 +1416,25 @@ static int input_print_modalias(char *buf, int size, struct input_dev *id,
|
||||
len += input_print_modalias_bits(buf + len, size - len,
|
||||
'w', id->swbit, 0, SW_MAX);
|
||||
|
||||
if (add_cr)
|
||||
len += snprintf(buf + len, max(size - len, 0), "\n");
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
static int input_print_modalias(char *buf, int size, struct input_dev *id)
|
||||
{
|
||||
int full_len;
|
||||
|
||||
/*
|
||||
* Printing is done in 2 passes: first one figures out total length
|
||||
* needed for the modalias string, second one will try to trim key
|
||||
* data in case when buffer is too small for the entire modalias.
|
||||
* If the buffer is too small regardless, it will fill as much as it
|
||||
* can (without trimming key data) into the buffer and leave it to
|
||||
* the caller to figure out what to do with the result.
|
||||
*/
|
||||
full_len = input_print_modalias_parts(NULL, 0, 0, id);
|
||||
return input_print_modalias_parts(buf, size, full_len, id);
|
||||
}
|
||||
|
||||
static ssize_t input_dev_show_modalias(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
char *buf)
|
||||
@ -1388,7 +1442,9 @@ static ssize_t input_dev_show_modalias(struct device *dev,
|
||||
struct input_dev *id = to_input_dev(dev);
|
||||
ssize_t len;
|
||||
|
||||
len = input_print_modalias(buf, PAGE_SIZE, id, 1);
|
||||
len = input_print_modalias(buf, PAGE_SIZE, id);
|
||||
if (len < PAGE_SIZE - 2)
|
||||
len += snprintf(buf + len, PAGE_SIZE - len, "\n");
|
||||
|
||||
return min_t(int, len, PAGE_SIZE);
|
||||
}
|
||||
@ -1561,6 +1617,23 @@ static int input_add_uevent_bm_var(struct kobj_uevent_env *env,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* This is a pretty gross hack. When building uevent data the driver core
|
||||
* may try adding more environment variables to kobj_uevent_env without
|
||||
* telling us, so we have no idea how much of the buffer we can use to
|
||||
* avoid overflows/-ENOMEM elsewhere. To work around this let's artificially
|
||||
* reduce amount of memory we will use for the modalias environment variable.
|
||||
*
|
||||
* The potential additions are:
|
||||
*
|
||||
* SEQNUM=18446744073709551615 - (%llu - 28 bytes)
|
||||
* HOME=/ (6 bytes)
|
||||
* PATH=/sbin:/bin:/usr/sbin:/usr/bin (34 bytes)
|
||||
*
|
||||
* 68 bytes total. Allow extra buffer - 96 bytes
|
||||
*/
|
||||
#define UEVENT_ENV_EXTRA_LEN 96
|
||||
|
||||
static int input_add_uevent_modalias_var(struct kobj_uevent_env *env,
|
||||
struct input_dev *dev)
|
||||
{
|
||||
@ -1570,9 +1643,11 @@ static int input_add_uevent_modalias_var(struct kobj_uevent_env *env,
|
||||
return -ENOMEM;
|
||||
|
||||
len = input_print_modalias(&env->buf[env->buflen - 1],
|
||||
sizeof(env->buf) - env->buflen,
|
||||
dev, 0);
|
||||
if (len >= (sizeof(env->buf) - env->buflen))
|
||||
(int)sizeof(env->buf) - env->buflen -
|
||||
UEVENT_ENV_EXTRA_LEN,
|
||||
dev);
|
||||
if (len >= ((int)sizeof(env->buf) - env->buflen -
|
||||
UEVENT_ENV_EXTRA_LEN))
|
||||
return -ENOMEM;
|
||||
|
||||
env->buflen += len;
|
||||
|
@ -1392,8 +1392,17 @@ static int __init init_iommu_from_acpi(struct amd_iommu *iommu,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __init free_sysfs(struct amd_iommu *iommu)
|
||||
{
|
||||
if (iommu->iommu.dev) {
|
||||
iommu_device_unregister(&iommu->iommu);
|
||||
iommu_device_sysfs_remove(&iommu->iommu);
|
||||
}
|
||||
}
|
||||
|
||||
static void __init free_iommu_one(struct amd_iommu *iommu)
|
||||
{
|
||||
free_sysfs(iommu);
|
||||
free_command_buffer(iommu);
|
||||
free_event_buffer(iommu);
|
||||
free_ppr_log(iommu);
|
||||
|
@ -953,7 +953,7 @@ int dvb_usercopy(struct file *file,
|
||||
int (*func)(struct file *file,
|
||||
unsigned int cmd, void *arg))
|
||||
{
|
||||
char sbuf[128];
|
||||
char sbuf[128] = {};
|
||||
void *mbuf = NULL;
|
||||
void *parg = NULL;
|
||||
int err = -EINVAL;
|
||||
|
@ -253,15 +253,14 @@ int __must_check media_devnode_register(struct media_device *mdev,
|
||||
devnode->cdev.owner = owner;
|
||||
|
||||
/* Part 3: Add the media and char device */
|
||||
set_bit(MEDIA_FLAG_REGISTERED, &devnode->flags);
|
||||
ret = cdev_device_add(&devnode->cdev, &devnode->dev);
|
||||
if (ret < 0) {
|
||||
clear_bit(MEDIA_FLAG_REGISTERED, &devnode->flags);
|
||||
pr_err("%s: cdev_device_add failed\n", __func__);
|
||||
goto cdev_add_error;
|
||||
}
|
||||
|
||||
/* Part 4: Activate this minor. The char device can now be used. */
|
||||
set_bit(MEDIA_FLAG_REGISTERED, &devnode->flags);
|
||||
|
||||
return 0;
|
||||
|
||||
cdev_add_error:
|
||||
|
@ -372,8 +372,10 @@ static int mei_me_pci_resume(struct device *device)
|
||||
}
|
||||
|
||||
err = mei_restart(dev);
|
||||
if (err)
|
||||
if (err) {
|
||||
free_irq(pdev->irq, dev);
|
||||
return err;
|
||||
}
|
||||
|
||||
/* Start timer if stopped in suspend */
|
||||
schedule_delayed_work(&dev->timer_work, HZ);
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include <linux/vmw_vmci_api.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/nospec.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/rculist.h>
|
||||
@ -94,9 +95,12 @@ static void event_deliver(struct vmci_event_msg *event_msg)
|
||||
{
|
||||
struct vmci_subscription *cur;
|
||||
struct list_head *subscriber_list;
|
||||
u32 sanitized_event, max_vmci_event;
|
||||
|
||||
rcu_read_lock();
|
||||
subscriber_list = &subscriber_array[event_msg->event_data.event];
|
||||
max_vmci_event = ARRAY_SIZE(subscriber_array);
|
||||
sanitized_event = array_index_nospec(event_msg->event_data.event, max_vmci_event);
|
||||
subscriber_list = &subscriber_array[sanitized_event];
|
||||
list_for_each_entry_rcu(cur, subscriber_list, node) {
|
||||
cur->callback(cur->id, &event_msg->event_data,
|
||||
cur->callback_data);
|
||||
|
@ -846,7 +846,7 @@ static int jmicron_pmos(struct sdhci_pci_chip *chip, int on)
|
||||
|
||||
ret = pci_read_config_byte(chip->pdev, 0xAE, &scratch);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto fail;
|
||||
|
||||
/*
|
||||
* Turn PMOS on [bit 0], set over current detection to 2.4 V
|
||||
@ -857,7 +857,10 @@ static int jmicron_pmos(struct sdhci_pci_chip *chip, int on)
|
||||
else
|
||||
scratch &= ~0x47;
|
||||
|
||||
return pci_write_config_byte(chip->pdev, 0xAE, scratch);
|
||||
ret = pci_write_config_byte(chip->pdev, 0xAE, scratch);
|
||||
|
||||
fail:
|
||||
return pcibios_err_to_errno(ret);
|
||||
}
|
||||
|
||||
static int jmicron_probe(struct sdhci_pci_chip *chip)
|
||||
@ -1718,7 +1721,7 @@ static int sdhci_pci_probe(struct pci_dev *pdev,
|
||||
|
||||
ret = pci_read_config_byte(pdev, PCI_SLOT_INFO, &slots);
|
||||
if (ret)
|
||||
return ret;
|
||||
return pcibios_err_to_errno(ret);
|
||||
|
||||
slots = PCI_SLOT_INFO_SLOTS(slots) + 1;
|
||||
dev_dbg(&pdev->dev, "found %d slot(s)\n", slots);
|
||||
@ -1729,7 +1732,7 @@ static int sdhci_pci_probe(struct pci_dev *pdev,
|
||||
|
||||
ret = pci_read_config_byte(pdev, PCI_SLOT_INFO, &first_bar);
|
||||
if (ret)
|
||||
return ret;
|
||||
return pcibios_err_to_errno(ret);
|
||||
|
||||
first_bar &= PCI_SLOT_INFO_FIRST_BAR_MASK;
|
||||
|
||||
|
@ -357,7 +357,8 @@ static void ax88179_status(struct usbnet *dev, struct urb *urb)
|
||||
|
||||
if (netif_carrier_ok(dev->net) != link) {
|
||||
usbnet_link_change(dev, link, 1);
|
||||
netdev_info(dev->net, "ax88179 - Link status is: %d\n", link);
|
||||
if (!link)
|
||||
netdev_info(dev->net, "ax88179 - Link status is: 0\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1549,6 +1550,7 @@ static int ax88179_link_reset(struct usbnet *dev)
|
||||
GMII_PHY_PHYSR, 2, &tmp16);
|
||||
|
||||
if (!(tmp16 & GMII_PHY_PHYSR_LINK)) {
|
||||
netdev_info(dev->net, "ax88179 - Link status is: 0\n");
|
||||
return 0;
|
||||
} else if (GMII_PHY_PHYSR_GIGA == (tmp16 & GMII_PHY_PHYSR_SMASK)) {
|
||||
mode |= AX_MEDIUM_GIGAMODE | AX_MEDIUM_EN_125MHZ;
|
||||
@ -1586,6 +1588,8 @@ static int ax88179_link_reset(struct usbnet *dev)
|
||||
|
||||
netif_carrier_on(dev->net);
|
||||
|
||||
netdev_info(dev->net, "ax88179 - Link status is: 1\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -803,7 +803,8 @@ static int rtl8150_get_link_ksettings(struct net_device *netdev,
|
||||
struct ethtool_link_ksettings *ecmd)
|
||||
{
|
||||
rtl8150_t *dev = netdev_priv(netdev);
|
||||
short lpa, bmcr;
|
||||
short lpa = 0;
|
||||
short bmcr = 0;
|
||||
u32 supported;
|
||||
|
||||
supported = (SUPPORTED_10baseT_Half |
|
||||
|
@ -2568,8 +2568,15 @@ static int virtnet_probe(struct virtio_device *vdev)
|
||||
dev->features |= dev->hw_features & NETIF_F_ALL_TSO;
|
||||
/* (!csum && gso) case will be fixed by register_netdev() */
|
||||
}
|
||||
if (virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_CSUM))
|
||||
dev->features |= NETIF_F_RXCSUM;
|
||||
|
||||
/* 1. With VIRTIO_NET_F_GUEST_CSUM negotiation, the driver doesn't
|
||||
* need to calculate checksums for partially checksummed packets,
|
||||
* as they're considered valid by the upper layer.
|
||||
* 2. Without VIRTIO_NET_F_GUEST_CSUM negotiation, the driver only
|
||||
* receives fully checksummed packets. The device may assist in
|
||||
* validating these packets' checksums, so the driver won't have to.
|
||||
*/
|
||||
dev->features |= NETIF_F_RXCSUM;
|
||||
|
||||
dev->vlan_features = dev->features;
|
||||
|
||||
|
@ -1013,6 +1013,10 @@ static bool vxlan_snoop(struct net_device *dev,
|
||||
struct vxlan_fdb *f;
|
||||
u32 ifindex = 0;
|
||||
|
||||
/* Ignore packets from invalid src-address */
|
||||
if (!is_valid_ether_addr(src_mac))
|
||||
return true;
|
||||
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
if (src_ip->sa.sa_family == AF_INET6 &&
|
||||
(ipv6_addr_type(&src_ip->sin6.sin6_addr) & IPV6_ADDR_LINKLOCAL))
|
||||
|
@ -149,20 +149,10 @@ void iwl_mvm_mfu_assert_dump_notif(struct iwl_mvm *mvm,
|
||||
{
|
||||
struct iwl_rx_packet *pkt = rxb_addr(rxb);
|
||||
struct iwl_mfu_assert_dump_notif *mfu_dump_notif = (void *)pkt->data;
|
||||
__le32 *dump_data = mfu_dump_notif->data;
|
||||
int n_words = le32_to_cpu(mfu_dump_notif->data_size) / sizeof(__le32);
|
||||
int i;
|
||||
|
||||
if (mfu_dump_notif->index_num == 0)
|
||||
IWL_INFO(mvm, "MFUART assert id 0x%x occurred\n",
|
||||
le32_to_cpu(mfu_dump_notif->assert_id));
|
||||
|
||||
for (i = 0; i < n_words; i++)
|
||||
IWL_DEBUG_INFO(mvm,
|
||||
"MFUART assert dump, dword %u: 0x%08x\n",
|
||||
le16_to_cpu(mfu_dump_notif->index_num) *
|
||||
n_words + i,
|
||||
le32_to_cpu(dump_data[i]));
|
||||
}
|
||||
|
||||
static bool iwl_alive_fn(struct iwl_notif_wait_data *notif_wait,
|
||||
|
@ -1050,8 +1050,8 @@ static struct pinctrl *create_pinctrl(struct device *dev,
|
||||
* an -EPROBE_DEFER later, as that is the worst case.
|
||||
*/
|
||||
if (ret == -EPROBE_DEFER) {
|
||||
pinctrl_free(p, false);
|
||||
mutex_unlock(&pinctrl_maps_mutex);
|
||||
pinctrl_free(p, false);
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
}
|
||||
|
@ -658,23 +658,68 @@ static struct rockchip_mux_recalced_data rk3128_mux_recalced_data[] = {
|
||||
|
||||
static struct rockchip_mux_recalced_data rk3328_mux_recalced_data[] = {
|
||||
{
|
||||
.num = 2,
|
||||
.pin = 12,
|
||||
.reg = 0x24,
|
||||
.bit = 8,
|
||||
.mask = 0x3
|
||||
}, {
|
||||
/* gpio2_b7_sel */
|
||||
.num = 2,
|
||||
.pin = 15,
|
||||
.reg = 0x28,
|
||||
.bit = 0,
|
||||
.mask = 0x7
|
||||
}, {
|
||||
/* gpio2_c7_sel */
|
||||
.num = 2,
|
||||
.pin = 23,
|
||||
.reg = 0x30,
|
||||
.bit = 14,
|
||||
.mask = 0x3
|
||||
}, {
|
||||
/* gpio3_b1_sel */
|
||||
.num = 3,
|
||||
.pin = 9,
|
||||
.reg = 0x44,
|
||||
.bit = 2,
|
||||
.mask = 0x3
|
||||
}, {
|
||||
/* gpio3_b2_sel */
|
||||
.num = 3,
|
||||
.pin = 10,
|
||||
.reg = 0x44,
|
||||
.bit = 4,
|
||||
.mask = 0x3
|
||||
}, {
|
||||
/* gpio3_b3_sel */
|
||||
.num = 3,
|
||||
.pin = 11,
|
||||
.reg = 0x44,
|
||||
.bit = 6,
|
||||
.mask = 0x3
|
||||
}, {
|
||||
/* gpio3_b4_sel */
|
||||
.num = 3,
|
||||
.pin = 12,
|
||||
.reg = 0x44,
|
||||
.bit = 8,
|
||||
.mask = 0x3
|
||||
}, {
|
||||
/* gpio3_b5_sel */
|
||||
.num = 3,
|
||||
.pin = 13,
|
||||
.reg = 0x44,
|
||||
.bit = 10,
|
||||
.mask = 0x3
|
||||
}, {
|
||||
/* gpio3_b6_sel */
|
||||
.num = 3,
|
||||
.pin = 14,
|
||||
.reg = 0x44,
|
||||
.bit = 12,
|
||||
.mask = 0x3
|
||||
}, {
|
||||
/* gpio3_b7_sel */
|
||||
.num = 3,
|
||||
.pin = 15,
|
||||
.reg = 0x44,
|
||||
.bit = 14,
|
||||
.mask = 0x3
|
||||
},
|
||||
};
|
||||
|
||||
@ -1976,8 +2021,10 @@ static int rockchip_pmx_set(struct pinctrl_dev *pctldev, unsigned selector,
|
||||
|
||||
if (ret) {
|
||||
/* revert the already done pin settings */
|
||||
for (cnt--; cnt >= 0; cnt--)
|
||||
for (cnt--; cnt >= 0; cnt--) {
|
||||
bank = pin_to_bank(info, pins[cnt]);
|
||||
rockchip_set_mux(bank, pins[cnt] - bank->pin_base, 0);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -3416,7 +3463,7 @@ static struct rockchip_pin_bank rk3328_pin_banks[] = {
|
||||
PIN_BANK_IOMUX_FLAGS(0, 32, "gpio0", 0, 0, 0, 0),
|
||||
PIN_BANK_IOMUX_FLAGS(1, 32, "gpio1", 0, 0, 0, 0),
|
||||
PIN_BANK_IOMUX_FLAGS(2, 32, "gpio2", 0,
|
||||
IOMUX_WIDTH_3BIT,
|
||||
0,
|
||||
IOMUX_WIDTH_3BIT,
|
||||
0),
|
||||
PIN_BANK_IOMUX_FLAGS(3, 32, "gpio3",
|
||||
|
@ -97,7 +97,8 @@ int ptp_set_pinfunc(struct ptp_clock *ptp, unsigned int pin,
|
||||
}
|
||||
|
||||
if (info->verify(info, pin, func, chan)) {
|
||||
pr_err("driver cannot use function %u on pin %u\n", func, chan);
|
||||
pr_err("driver cannot use function %u and channel %u on pin %u\n",
|
||||
func, chan, pin);
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
|
@ -84,6 +84,9 @@ static int stm32_pwm_config(struct stm32_pwm *priv, int ch,
|
||||
|
||||
prd = div;
|
||||
|
||||
if (!prd)
|
||||
return -EINVAL;
|
||||
|
||||
if (prescaler > MAX_TIM_PSC)
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -2618,6 +2618,7 @@ struct regmap *regulator_get_regmap(struct regulator *regulator)
|
||||
|
||||
return map ? map : ERR_PTR(-EOPNOTSUPP);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(regulator_get_regmap);
|
||||
|
||||
/**
|
||||
* regulator_get_hardware_vsel_register - get the HW voltage selector register
|
||||
|
@ -5438,6 +5438,12 @@ mpt3sas_base_attach(struct MPT3SAS_ADAPTER *ioc)
|
||||
ioc->pd_handles_sz = (ioc->facts.MaxDevHandle / 8);
|
||||
if (ioc->facts.MaxDevHandle % 8)
|
||||
ioc->pd_handles_sz++;
|
||||
/*
|
||||
* pd_handles_sz should have, at least, the minimal room for
|
||||
* set_bit()/test_bit(), otherwise out-of-memory touch may occur.
|
||||
*/
|
||||
ioc->pd_handles_sz = ALIGN(ioc->pd_handles_sz, sizeof(unsigned long));
|
||||
|
||||
ioc->pd_handles = kzalloc(ioc->pd_handles_sz,
|
||||
GFP_KERNEL);
|
||||
if (!ioc->pd_handles) {
|
||||
@ -5455,6 +5461,13 @@ mpt3sas_base_attach(struct MPT3SAS_ADAPTER *ioc)
|
||||
ioc->pend_os_device_add_sz = (ioc->facts.MaxDevHandle / 8);
|
||||
if (ioc->facts.MaxDevHandle % 8)
|
||||
ioc->pend_os_device_add_sz++;
|
||||
|
||||
/*
|
||||
* pend_os_device_add_sz should have, at least, the minimal room for
|
||||
* set_bit()/test_bit(), otherwise out-of-memory may occur.
|
||||
*/
|
||||
ioc->pend_os_device_add_sz = ALIGN(ioc->pend_os_device_add_sz,
|
||||
sizeof(unsigned long));
|
||||
ioc->pend_os_device_add = kzalloc(ioc->pend_os_device_add_sz,
|
||||
GFP_KERNEL);
|
||||
if (!ioc->pend_os_device_add) {
|
||||
@ -5537,6 +5550,13 @@ mpt3sas_base_attach(struct MPT3SAS_ADAPTER *ioc)
|
||||
if (r)
|
||||
goto out_free_resources;
|
||||
|
||||
/*
|
||||
* Copy current copy of IOCFacts in prev_fw_facts
|
||||
* and it will be used during online firmware upgrade.
|
||||
*/
|
||||
memcpy(&ioc->prev_fw_facts, &ioc->facts,
|
||||
sizeof(struct mpt3sas_facts));
|
||||
|
||||
ioc->non_operational_loop = 0;
|
||||
ioc->got_task_abort_from_ioctl = 0;
|
||||
return 0;
|
||||
@ -5705,6 +5725,91 @@ mpt3sas_wait_for_commands_to_complete(struct MPT3SAS_ADAPTER *ioc)
|
||||
wait_event_timeout(ioc->reset_wq, ioc->pending_io_count == 0, 10 * HZ);
|
||||
}
|
||||
|
||||
/**
|
||||
* _base_check_ioc_facts_changes - Look for increase/decrease of IOCFacts
|
||||
* attributes during online firmware upgrade and update the corresponding
|
||||
* IOC variables accordingly.
|
||||
*
|
||||
* @ioc: Pointer to MPT_ADAPTER structure
|
||||
*/
|
||||
static int
|
||||
_base_check_ioc_facts_changes(struct MPT3SAS_ADAPTER *ioc)
|
||||
{
|
||||
u16 pd_handles_sz;
|
||||
void *pd_handles = NULL, *blocking_handles = NULL;
|
||||
void *pend_os_device_add = NULL, *device_remove_in_progress = NULL;
|
||||
struct mpt3sas_facts *old_facts = &ioc->prev_fw_facts;
|
||||
|
||||
if (ioc->facts.MaxDevHandle > old_facts->MaxDevHandle) {
|
||||
pd_handles_sz = (ioc->facts.MaxDevHandle / 8);
|
||||
if (ioc->facts.MaxDevHandle % 8)
|
||||
pd_handles_sz++;
|
||||
|
||||
/*
|
||||
* pd_handles should have, at least, the minimal room for
|
||||
* set_bit()/test_bit(), otherwise out-of-memory touch may
|
||||
* occur.
|
||||
*/
|
||||
pd_handles_sz = ALIGN(pd_handles_sz, sizeof(unsigned long));
|
||||
pd_handles = krealloc(ioc->pd_handles, pd_handles_sz,
|
||||
GFP_KERNEL);
|
||||
if (!pd_handles) {
|
||||
ioc_info(ioc,
|
||||
"Unable to allocate the memory for pd_handles of sz: %d\n",
|
||||
pd_handles_sz);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset(pd_handles + ioc->pd_handles_sz, 0,
|
||||
(pd_handles_sz - ioc->pd_handles_sz));
|
||||
ioc->pd_handles = pd_handles;
|
||||
|
||||
blocking_handles = krealloc(ioc->blocking_handles,
|
||||
pd_handles_sz, GFP_KERNEL);
|
||||
if (!blocking_handles) {
|
||||
ioc_info(ioc,
|
||||
"Unable to allocate the memory for "
|
||||
"blocking_handles of sz: %d\n",
|
||||
pd_handles_sz);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset(blocking_handles + ioc->pd_handles_sz, 0,
|
||||
(pd_handles_sz - ioc->pd_handles_sz));
|
||||
ioc->blocking_handles = blocking_handles;
|
||||
ioc->pd_handles_sz = pd_handles_sz;
|
||||
|
||||
pend_os_device_add = krealloc(ioc->pend_os_device_add,
|
||||
pd_handles_sz, GFP_KERNEL);
|
||||
if (!pend_os_device_add) {
|
||||
ioc_info(ioc,
|
||||
"Unable to allocate the memory for pend_os_device_add of sz: %d\n",
|
||||
pd_handles_sz);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset(pend_os_device_add + ioc->pend_os_device_add_sz, 0,
|
||||
(pd_handles_sz - ioc->pend_os_device_add_sz));
|
||||
ioc->pend_os_device_add = pend_os_device_add;
|
||||
ioc->pend_os_device_add_sz = pd_handles_sz;
|
||||
|
||||
device_remove_in_progress = krealloc(
|
||||
ioc->device_remove_in_progress, pd_handles_sz, GFP_KERNEL);
|
||||
if (!device_remove_in_progress) {
|
||||
ioc_info(ioc,
|
||||
"Unable to allocate the memory for "
|
||||
"device_remove_in_progress of sz: %d\n "
|
||||
, pd_handles_sz);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset(device_remove_in_progress +
|
||||
ioc->device_remove_in_progress_sz, 0,
|
||||
(pd_handles_sz - ioc->device_remove_in_progress_sz));
|
||||
ioc->device_remove_in_progress = device_remove_in_progress;
|
||||
ioc->device_remove_in_progress_sz = pd_handles_sz;
|
||||
}
|
||||
|
||||
memcpy(&ioc->prev_fw_facts, &ioc->facts, sizeof(struct mpt3sas_facts));
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* mpt3sas_base_hard_reset_handler - reset controller
|
||||
* @ioc: Pointer to MPT_ADAPTER structure
|
||||
@ -5777,6 +5882,13 @@ mpt3sas_base_hard_reset_handler(struct MPT3SAS_ADAPTER *ioc,
|
||||
if (r)
|
||||
goto out;
|
||||
|
||||
r = _base_check_ioc_facts_changes(ioc);
|
||||
if (r) {
|
||||
ioc_info(ioc,
|
||||
"Some of the parameters got changed in this new firmware"
|
||||
" image and it requires system reboot\n");
|
||||
goto out;
|
||||
}
|
||||
if (ioc->rdpq_array_enable && !ioc->rdpq_array_capable)
|
||||
panic("%s: Issue occurred with flashing controller firmware."
|
||||
"Please reboot the system and ensure that the correct"
|
||||
|
@ -142,6 +142,15 @@
|
||||
*/
|
||||
#define MPT3SAS_FMT "%s: "
|
||||
|
||||
#define ioc_err(ioc, fmt, ...) \
|
||||
pr_err("%s: " fmt, (ioc)->name, ##__VA_ARGS__)
|
||||
#define ioc_notice(ioc, fmt, ...) \
|
||||
pr_notice("%s: " fmt, (ioc)->name, ##__VA_ARGS__)
|
||||
#define ioc_warn(ioc, fmt, ...) \
|
||||
pr_warn("%s: " fmt, (ioc)->name, ##__VA_ARGS__)
|
||||
#define ioc_info(ioc, fmt, ...) \
|
||||
pr_info("%s: " fmt, (ioc)->name, ##__VA_ARGS__)
|
||||
|
||||
/*
|
||||
* WarpDrive Specific Log codes
|
||||
*/
|
||||
@ -872,6 +881,7 @@ typedef void (*MPT3SAS_FLUSH_RUNNING_CMDS)(struct MPT3SAS_ADAPTER *ioc);
|
||||
* @event_log: event log pointer
|
||||
* @event_masks: events that are masked
|
||||
* @facts: static facts data
|
||||
* @prev_fw_facts: previous fw facts data
|
||||
* @pfacts: static port facts data
|
||||
* @manu_pg0: static manufacturing page 0
|
||||
* @manu_pg10: static manufacturing page 10
|
||||
@ -1064,6 +1074,7 @@ struct MPT3SAS_ADAPTER {
|
||||
|
||||
/* static config pages */
|
||||
struct mpt3sas_facts facts;
|
||||
struct mpt3sas_facts prev_fw_facts;
|
||||
struct mpt3sas_port_facts *pfacts;
|
||||
Mpi2ManufacturingPage0_t manu_pg0;
|
||||
struct Mpi2ManufacturingPage10_t manu_pg10;
|
||||
|
@ -136,15 +136,11 @@ static ssize_t
|
||||
qedi_dbg_do_not_recover_cmd_read(struct file *filp, char __user *buffer,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
size_t cnt = 0;
|
||||
char buf[64];
|
||||
int len;
|
||||
|
||||
if (*ppos)
|
||||
return 0;
|
||||
|
||||
cnt = sprintf(buffer, "do_not_recover=%d\n", qedi_do_not_recover);
|
||||
cnt = min_t(int, count, cnt - *ppos);
|
||||
*ppos += cnt;
|
||||
return cnt;
|
||||
len = sprintf(buf, "do_not_recover=%d\n", qedi_do_not_recover);
|
||||
return simple_read_from_buffer(buffer, count, ppos, buf, len);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include <linux/irq.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/omap-mailbox.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/remoteproc.h>
|
||||
#include <linux/suspend.h>
|
||||
@ -140,7 +139,6 @@ static irqreturn_t wkup_m3_txev_handler(int irq, void *ipc_data)
|
||||
static int wkup_m3_ping(struct wkup_m3_ipc *m3_ipc)
|
||||
{
|
||||
struct device *dev = m3_ipc->dev;
|
||||
mbox_msg_t dummy_msg = 0;
|
||||
int ret;
|
||||
|
||||
if (!m3_ipc->mbox) {
|
||||
@ -156,7 +154,7 @@ static int wkup_m3_ping(struct wkup_m3_ipc *m3_ipc)
|
||||
* the RX callback to avoid multiple interrupts being received
|
||||
* by the CM3.
|
||||
*/
|
||||
ret = mbox_send_message(m3_ipc->mbox, &dummy_msg);
|
||||
ret = mbox_send_message(m3_ipc->mbox, NULL);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "%s: mbox_send_message() failed: %d\n",
|
||||
__func__, ret);
|
||||
@ -178,7 +176,6 @@ static int wkup_m3_ping(struct wkup_m3_ipc *m3_ipc)
|
||||
static int wkup_m3_ping_noirq(struct wkup_m3_ipc *m3_ipc)
|
||||
{
|
||||
struct device *dev = m3_ipc->dev;
|
||||
mbox_msg_t dummy_msg = 0;
|
||||
int ret;
|
||||
|
||||
if (!m3_ipc->mbox) {
|
||||
@ -187,7 +184,7 @@ static int wkup_m3_ping_noirq(struct wkup_m3_ipc *m3_ipc)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
ret = mbox_send_message(m3_ipc->mbox, &dummy_msg);
|
||||
ret = mbox_send_message(m3_ipc->mbox, NULL);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "%s: mbox_send_message() failed: %d\n",
|
||||
__func__, ret);
|
||||
|
@ -3211,8 +3211,6 @@ static int __init target_core_init_configfs(void)
|
||||
{
|
||||
struct configfs_subsystem *subsys = &target_core_fabrics;
|
||||
struct t10_alua_lu_gp *lu_gp;
|
||||
struct cred *kern_cred;
|
||||
const struct cred *old_cred;
|
||||
int ret;
|
||||
|
||||
pr_debug("TARGET_CORE[0]: Loading Generic Kernel Storage"
|
||||
@ -3289,20 +3287,9 @@ static int __init target_core_init_configfs(void)
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
|
||||
/* We use the kernel credentials to access the target directory */
|
||||
kern_cred = prepare_kernel_cred(&init_task);
|
||||
if (!kern_cred) {
|
||||
ret = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
old_cred = override_creds(kern_cred);
|
||||
revert_creds(old_cred);
|
||||
put_cred(kern_cred);
|
||||
|
||||
return 0;
|
||||
|
||||
out:
|
||||
target_xcopy_release_pt();
|
||||
configfs_unregister_subsystem(subsys);
|
||||
core_dev_release_virtual_lun0();
|
||||
rd_module_exit();
|
||||
|
@ -483,7 +483,7 @@ static const struct uart_ops mcf_uart_ops = {
|
||||
.verify_port = mcf_verify_port,
|
||||
};
|
||||
|
||||
static struct mcf_uart mcf_ports[4];
|
||||
static struct mcf_uart mcf_ports[10];
|
||||
|
||||
#define MCF_MAXPORTS ARRAY_SIZE(mcf_ports)
|
||||
|
||||
|
@ -494,16 +494,28 @@ static bool sc16is7xx_regmap_precious(struct device *dev, unsigned int reg)
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Configure programmable baud rate generator (divisor) according to the
|
||||
* desired baud rate.
|
||||
*
|
||||
* From the datasheet, the divisor is computed according to:
|
||||
*
|
||||
* XTAL1 input frequency
|
||||
* -----------------------
|
||||
* prescaler
|
||||
* divisor = ---------------------------
|
||||
* baud-rate x sampling-rate
|
||||
*/
|
||||
static int sc16is7xx_set_baud(struct uart_port *port, int baud)
|
||||
{
|
||||
struct sc16is7xx_port *s = dev_get_drvdata(port->dev);
|
||||
u8 lcr;
|
||||
u8 prescaler = 0;
|
||||
unsigned int prescaler = 1;
|
||||
unsigned long clk = port->uartclk, div = clk / 16 / baud;
|
||||
|
||||
if (div > 0xffff) {
|
||||
prescaler = SC16IS7XX_MCR_CLKSEL_BIT;
|
||||
div /= 4;
|
||||
if (div >= BIT(16)) {
|
||||
prescaler = 4;
|
||||
div /= prescaler;
|
||||
}
|
||||
|
||||
/* In an amazing feat of design, the Enhanced Features Register shares
|
||||
@ -538,9 +550,10 @@ static int sc16is7xx_set_baud(struct uart_port *port, int baud)
|
||||
|
||||
mutex_unlock(&s->efr_lock);
|
||||
|
||||
/* If bit MCR_CLKSEL is set, the divide by 4 prescaler is activated. */
|
||||
sc16is7xx_port_update(port, SC16IS7XX_MCR_REG,
|
||||
SC16IS7XX_MCR_CLKSEL_BIT,
|
||||
prescaler);
|
||||
prescaler == 1 ? 0 : SC16IS7XX_MCR_CLKSEL_BIT);
|
||||
|
||||
/* Open the LCR divisors for configuration */
|
||||
sc16is7xx_port_write(port, SC16IS7XX_LCR_REG,
|
||||
@ -555,7 +568,7 @@ static int sc16is7xx_set_baud(struct uart_port *port, int baud)
|
||||
/* Put LCR back to the normal mode */
|
||||
sc16is7xx_port_write(port, SC16IS7XX_LCR_REG, lcr);
|
||||
|
||||
return DIV_ROUND_CLOSEST(clk / 16, div);
|
||||
return DIV_ROUND_CLOSEST((clk / prescaler) / 16, div);
|
||||
}
|
||||
|
||||
static void sc16is7xx_handle_rx(struct uart_port *port, unsigned int rxlen,
|
||||
|
@ -1134,6 +1134,7 @@ static int cxacru_bind(struct usbatm_data *usbatm_instance,
|
||||
struct cxacru_data *instance;
|
||||
struct usb_device *usb_dev = interface_to_usbdev(intf);
|
||||
struct usb_host_endpoint *cmd_ep = usb_dev->ep_in[CXACRU_EP_CMD];
|
||||
struct usb_endpoint_descriptor *in, *out;
|
||||
int ret;
|
||||
|
||||
/* instance init */
|
||||
@ -1180,6 +1181,19 @@ static int cxacru_bind(struct usbatm_data *usbatm_instance,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (usb_endpoint_xfer_int(&cmd_ep->desc))
|
||||
ret = usb_find_common_endpoints(intf->cur_altsetting,
|
||||
NULL, NULL, &in, &out);
|
||||
else
|
||||
ret = usb_find_common_endpoints(intf->cur_altsetting,
|
||||
&in, &out, NULL, NULL);
|
||||
|
||||
if (ret) {
|
||||
usb_err(usbatm_instance, "cxacru_bind: interface has incorrect endpoints\n");
|
||||
ret = -ENODEV;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if ((cmd_ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
|
||||
== USB_ENDPOINT_XFER_INT) {
|
||||
usb_fill_int_urb(instance->rcv_urb,
|
||||
|
@ -249,14 +249,14 @@ static void wdm_int_callback(struct urb *urb)
|
||||
dev_err(&desc->intf->dev, "Stall on int endpoint\n");
|
||||
goto sw; /* halt is cleared in work */
|
||||
default:
|
||||
dev_err(&desc->intf->dev,
|
||||
dev_err_ratelimited(&desc->intf->dev,
|
||||
"nonzero urb status received: %d\n", status);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (urb->actual_length < sizeof(struct usb_cdc_notification)) {
|
||||
dev_err(&desc->intf->dev, "wdm_int_callback - %d bytes\n",
|
||||
dev_err_ratelimited(&desc->intf->dev, "wdm_int_callback - %d bytes\n",
|
||||
urb->actual_length);
|
||||
goto exit;
|
||||
}
|
||||
|
@ -817,6 +817,7 @@ static void ffs_user_copy_worker(struct work_struct *work)
|
||||
int ret = io_data->req->status ? io_data->req->status :
|
||||
io_data->req->actual;
|
||||
bool kiocb_has_eventfd = io_data->kiocb->ki_flags & IOCB_EVENTFD;
|
||||
unsigned long flags;
|
||||
|
||||
ffs_log("enter: ret %d for %s", ret, io_data->read ? "read" : "write");
|
||||
|
||||
@ -835,7 +836,10 @@ static void ffs_user_copy_worker(struct work_struct *work)
|
||||
if (io_data->ffs->ffs_eventfd && !kiocb_has_eventfd)
|
||||
eventfd_signal(io_data->ffs->ffs_eventfd, 1);
|
||||
|
||||
spin_lock_irqsave(&io_data->ffs->eps_lock, flags);
|
||||
usb_ep_free_request(io_data->ep, io_data->req);
|
||||
io_data->req = NULL;
|
||||
spin_unlock_irqrestore(&io_data->ffs->eps_lock, flags);
|
||||
|
||||
if (io_data->read)
|
||||
kfree(io_data->to_free);
|
||||
|
@ -212,6 +212,7 @@ static inline struct usb_endpoint_descriptor *ep_desc(struct usb_gadget *gadget,
|
||||
struct usb_endpoint_descriptor *ss)
|
||||
{
|
||||
switch (gadget->speed) {
|
||||
case USB_SPEED_SUPER_PLUS:
|
||||
case USB_SPEED_SUPER:
|
||||
return ss;
|
||||
case USB_SPEED_HIGH:
|
||||
|
@ -43,6 +43,7 @@
|
||||
|
||||
#define PCI_VENDOR_ID_ETRON 0x1b6f
|
||||
#define PCI_DEVICE_ID_EJ168 0x7023
|
||||
#define PCI_DEVICE_ID_EJ188 0x7052
|
||||
|
||||
#define PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI 0x8c31
|
||||
#define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_XHCI 0x9c31
|
||||
@ -224,6 +225,12 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||
xhci->quirks |= XHCI_TRUST_TX_LENGTH;
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
}
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
|
||||
pdev->device == PCI_DEVICE_ID_EJ188) {
|
||||
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
}
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
|
||||
pdev->device == 0x0014)
|
||||
xhci->quirks |= XHCI_TRUST_TX_LENGTH;
|
||||
@ -270,6 +277,11 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||
pdev->device == 0x9026)
|
||||
xhci->quirks |= XHCI_RESET_PLL_ON_DISCONNECT;
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_AMD &&
|
||||
(pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_2 ||
|
||||
pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_4))
|
||||
xhci->quirks |= XHCI_NO_SOFT_RETRY;
|
||||
|
||||
if (xhci->quirks & XHCI_RESET_ON_RESUME)
|
||||
xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
|
||||
"QUIRK: Resetting on resume");
|
||||
|
@ -1227,6 +1227,10 @@ static void xhci_handle_cmd_reset_ep(struct xhci_hcd *xhci, int slot_id,
|
||||
/* Clear our internal halted state */
|
||||
ep->ep_state &= ~EP_HALTED;
|
||||
}
|
||||
|
||||
/* if this was a soft reset, then restart */
|
||||
if ((le32_to_cpu(trb->generic.field[3])) & TRB_TSP)
|
||||
ring_doorbell_for_active_rings(xhci, slot_id, ep_index);
|
||||
}
|
||||
|
||||
static void xhci_handle_cmd_enable_slot(struct xhci_hcd *xhci, int slot_id,
|
||||
@ -1920,8 +1924,7 @@ struct xhci_segment *trb_in_td(struct xhci_hcd *xhci,
|
||||
|
||||
static void xhci_cleanup_halted_endpoint(struct xhci_hcd *xhci,
|
||||
unsigned int slot_id, unsigned int ep_index,
|
||||
unsigned int stream_id,
|
||||
struct xhci_td *td, union xhci_trb *ep_trb,
|
||||
unsigned int stream_id, struct xhci_td *td,
|
||||
enum xhci_ep_reset_type reset_type)
|
||||
{
|
||||
struct xhci_virt_ep *ep = &xhci->devs[slot_id]->eps[ep_index];
|
||||
@ -2064,8 +2067,7 @@ static int finish_td(struct xhci_hcd *xhci, struct xhci_td *td,
|
||||
* The class driver clears the device side halt later.
|
||||
*/
|
||||
xhci_cleanup_halted_endpoint(xhci, slot_id, ep_index,
|
||||
ep_ring->stream_id, td, ep_trb,
|
||||
EP_HARD_RESET);
|
||||
ep_ring->stream_id, td, EP_HARD_RESET);
|
||||
} else {
|
||||
/* Update ring dequeue pointer */
|
||||
while (ep_ring->dequeue != td->last_trb)
|
||||
@ -2317,10 +2319,16 @@ static int process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_td *td,
|
||||
union xhci_trb *ep_trb, struct xhci_transfer_event *event,
|
||||
struct xhci_virt_ep *ep, int *status)
|
||||
{
|
||||
struct xhci_slot_ctx *slot_ctx;
|
||||
struct xhci_ring *ep_ring;
|
||||
u32 trb_comp_code;
|
||||
u32 remaining, requested, ep_trb_len;
|
||||
unsigned int slot_id;
|
||||
int ep_index;
|
||||
|
||||
slot_id = TRB_TO_SLOT_ID(le32_to_cpu(event->flags));
|
||||
slot_ctx = xhci_get_slot_ctx(xhci, xhci->devs[slot_id]->out_ctx);
|
||||
ep_index = TRB_TO_EP_ID(le32_to_cpu(event->flags)) - 1;
|
||||
ep_ring = xhci_dma_to_transfer_ring(ep, le64_to_cpu(event->buffer));
|
||||
trb_comp_code = GET_COMP_CODE(le32_to_cpu(event->transfer_len));
|
||||
remaining = EVENT_TRB_LEN(le32_to_cpu(event->transfer_len));
|
||||
@ -2329,6 +2337,7 @@ static int process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_td *td,
|
||||
|
||||
switch (trb_comp_code) {
|
||||
case COMP_SUCCESS:
|
||||
ep_ring->err_count = 0;
|
||||
/* handle success with untransferred data as short packet */
|
||||
if (ep_trb != td->last_trb || remaining) {
|
||||
xhci_warn(xhci, "WARN Successful completion on short TX\n");
|
||||
@ -2349,9 +2358,17 @@ static int process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_td *td,
|
||||
goto finish_td;
|
||||
case COMP_STOPPED_LENGTH_INVALID:
|
||||
/* stopped on ep trb with invalid length, exclude it */
|
||||
ep_trb_len = 0;
|
||||
remaining = 0;
|
||||
break;
|
||||
td->urb->actual_length = sum_trb_lengths(xhci, ep_ring, ep_trb);
|
||||
goto finish_td;
|
||||
case COMP_USB_TRANSACTION_ERROR:
|
||||
if (xhci->quirks & XHCI_NO_SOFT_RETRY ||
|
||||
(ep_ring->err_count++ > MAX_SOFT_RETRY) ||
|
||||
le32_to_cpu(slot_ctx->tt_info) & TT_SLOT)
|
||||
break;
|
||||
*status = 0;
|
||||
xhci_cleanup_halted_endpoint(xhci, slot_id, ep_index,
|
||||
ep_ring->stream_id, td, EP_SOFT_RESET);
|
||||
return 0;
|
||||
default:
|
||||
/* do nothing */
|
||||
break;
|
||||
@ -2426,7 +2443,7 @@ static int handle_tx_event(struct xhci_hcd *xhci,
|
||||
case COMP_INVALID_STREAM_TYPE_ERROR:
|
||||
case COMP_INVALID_STREAM_ID_ERROR:
|
||||
xhci_cleanup_halted_endpoint(xhci, slot_id, ep_index, 0,
|
||||
NULL, NULL, EP_SOFT_RESET);
|
||||
NULL, EP_SOFT_RESET);
|
||||
goto cleanup;
|
||||
case COMP_RING_UNDERRUN:
|
||||
case COMP_RING_OVERRUN:
|
||||
@ -2694,8 +2711,7 @@ static int handle_tx_event(struct xhci_hcd *xhci,
|
||||
xhci_cleanup_halted_endpoint(xhci, slot_id,
|
||||
ep_index,
|
||||
ep_ring->stream_id,
|
||||
td, ep_trb,
|
||||
EP_HARD_RESET);
|
||||
td, EP_HARD_RESET);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
@ -1506,6 +1506,7 @@ static inline const char *xhci_trb_type_string(u8 type)
|
||||
/* How much data is left before the 64KB boundary? */
|
||||
#define TRB_BUFF_LEN_UP_TO_BOUNDARY(addr) (TRB_MAX_BUFF_SIZE - \
|
||||
(addr & (TRB_MAX_BUFF_SIZE - 1)))
|
||||
#define MAX_SOFT_RETRY 3
|
||||
|
||||
struct xhci_segment {
|
||||
union xhci_trb *trbs;
|
||||
@ -1593,6 +1594,7 @@ struct xhci_ring {
|
||||
* if we own the TRB (if we are the consumer). See section 4.9.1.
|
||||
*/
|
||||
u32 cycle_state;
|
||||
unsigned int err_count;
|
||||
unsigned int stream_id;
|
||||
unsigned int num_segs;
|
||||
unsigned int num_trbs_free;
|
||||
@ -1853,6 +1855,7 @@ struct xhci_hcd {
|
||||
#define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
unsigned int limit_active_eps;
|
||||
|
@ -690,7 +690,7 @@ static int uss720_probe(struct usb_interface *intf,
|
||||
struct parport_uss720_private *priv;
|
||||
struct parport *pp;
|
||||
unsigned char reg;
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
dev_dbg(&intf->dev, "probe: vendor id 0x%x, device id 0x%x\n",
|
||||
le16_to_cpu(usbdev->descriptor.idVendor),
|
||||
@ -701,8 +701,8 @@ static int uss720_probe(struct usb_interface *intf,
|
||||
usb_put_dev(usbdev);
|
||||
return -ENODEV;
|
||||
}
|
||||
i = usb_set_interface(usbdev, intf->altsetting->desc.bInterfaceNumber, 2);
|
||||
dev_dbg(&intf->dev, "set interface result %d\n", i);
|
||||
ret = usb_set_interface(usbdev, intf->altsetting->desc.bInterfaceNumber, 2);
|
||||
dev_dbg(&intf->dev, "set interface result %d\n", ret);
|
||||
|
||||
interface = intf->cur_altsetting;
|
||||
|
||||
@ -738,12 +738,18 @@ static int uss720_probe(struct usb_interface *intf,
|
||||
set_1284_register(pp, 7, 0x00, GFP_KERNEL);
|
||||
set_1284_register(pp, 6, 0x30, GFP_KERNEL); /* PS/2 mode */
|
||||
set_1284_register(pp, 2, 0x0c, GFP_KERNEL);
|
||||
/* debugging */
|
||||
get_1284_register(pp, 0, ®, GFP_KERNEL);
|
||||
dev_dbg(&intf->dev, "reg: %7ph\n", priv->reg);
|
||||
|
||||
i = usb_find_last_int_in_endpoint(interface, &epd);
|
||||
if (!i) {
|
||||
/* The Belkin F5U002 Rev 2 P80453-B USB parallel port adapter shares the
|
||||
* device ID 050d:0002 with some other device that works with this
|
||||
* driver, but it itself does not. Detect and handle the bad cable
|
||||
* here. */
|
||||
ret = get_1284_register(pp, 0, ®, GFP_KERNEL);
|
||||
dev_dbg(&intf->dev, "reg: %7ph\n", priv->reg);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = usb_find_last_int_in_endpoint(interface, &epd);
|
||||
if (!ret) {
|
||||
dev_dbg(&intf->dev, "epaddr %d interval %d\n",
|
||||
epd->bEndpointAddress, epd->bInterval);
|
||||
}
|
||||
|
@ -580,7 +580,7 @@ static int da8xx_probe(struct platform_device *pdev)
|
||||
ret = of_platform_populate(pdev->dev.of_node, NULL,
|
||||
da8xx_auxdata_lookup, &pdev->dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto err_unregister_phy;
|
||||
|
||||
memset(musb_resources, 0x00, sizeof(*musb_resources) *
|
||||
ARRAY_SIZE(musb_resources));
|
||||
@ -606,9 +606,13 @@ static int da8xx_probe(struct platform_device *pdev)
|
||||
ret = PTR_ERR_OR_ZERO(glue->musb);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "failed to register musb device: %d\n", ret);
|
||||
usb_phy_generic_unregister(glue->usb_phy);
|
||||
goto err_unregister_phy;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err_unregister_phy:
|
||||
usb_phy_generic_unregister(glue->usb_phy);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -117,6 +117,8 @@ struct alauda_info {
|
||||
unsigned char sense_key;
|
||||
unsigned long sense_asc; /* additional sense code */
|
||||
unsigned long sense_ascq; /* additional sense code qualifier */
|
||||
|
||||
bool media_initialized;
|
||||
};
|
||||
|
||||
#define short_pack(lsb,msb) ( ((u16)(lsb)) | ( ((u16)(msb))<<8 ) )
|
||||
@ -488,11 +490,12 @@ static int alauda_check_media(struct us_data *us)
|
||||
}
|
||||
|
||||
/* Check for media change */
|
||||
if (status[0] & 0x08) {
|
||||
if (status[0] & 0x08 || !info->media_initialized) {
|
||||
usb_stor_dbg(us, "Media change detected\n");
|
||||
alauda_free_maps(&MEDIA_INFO(us));
|
||||
alauda_init_media(us);
|
||||
|
||||
rc = alauda_init_media(us);
|
||||
if (rc == USB_STOR_TRANSPORT_GOOD)
|
||||
info->media_initialized = true;
|
||||
info->sense_key = UNIT_ATTENTION;
|
||||
info->sense_asc = 0x28;
|
||||
info->sense_ascq = 0x00;
|
||||
|
@ -570,9 +570,11 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size)
|
||||
|
||||
size_check:
|
||||
if (EALIST_SIZE(ea_buf->xattr) != ea_size) {
|
||||
int size = min_t(int, EALIST_SIZE(ea_buf->xattr), ea_size);
|
||||
|
||||
printk(KERN_ERR "ea_get: invalid extended attribute\n");
|
||||
print_hex_dump(KERN_ERR, "", DUMP_PREFIX_ADDRESS, 16, 1,
|
||||
ea_buf->xattr, ea_size, 1);
|
||||
ea_buf->xattr, size, 1);
|
||||
ea_release(inode, ea_buf);
|
||||
rc = -EIO;
|
||||
goto clean_up;
|
||||
|
@ -195,19 +195,24 @@ fail:
|
||||
return false;
|
||||
}
|
||||
|
||||
static struct page *nilfs_get_page(struct inode *dir, unsigned long n)
|
||||
static void *nilfs_get_page(struct inode *dir, unsigned long n,
|
||||
struct page **pagep)
|
||||
{
|
||||
struct address_space *mapping = dir->i_mapping;
|
||||
struct page *page = read_mapping_page(mapping, n, NULL);
|
||||
void *kaddr;
|
||||
|
||||
if (!IS_ERR(page)) {
|
||||
kmap(page);
|
||||
if (unlikely(!PageChecked(page))) {
|
||||
if (PageError(page) || !nilfs_check_page(page))
|
||||
goto fail;
|
||||
}
|
||||
if (IS_ERR(page))
|
||||
return page;
|
||||
|
||||
kaddr = kmap(page);
|
||||
if (unlikely(!PageChecked(page))) {
|
||||
if (!nilfs_check_page(page))
|
||||
goto fail;
|
||||
}
|
||||
return page;
|
||||
|
||||
*pagep = page;
|
||||
return kaddr;
|
||||
|
||||
fail:
|
||||
nilfs_put_page(page);
|
||||
@ -284,14 +289,14 @@ static int nilfs_readdir(struct file *file, struct dir_context *ctx)
|
||||
for ( ; n < npages; n++, offset = 0) {
|
||||
char *kaddr, *limit;
|
||||
struct nilfs_dir_entry *de;
|
||||
struct page *page = nilfs_get_page(inode, n);
|
||||
struct page *page;
|
||||
|
||||
if (IS_ERR(page)) {
|
||||
kaddr = nilfs_get_page(inode, n, &page);
|
||||
if (IS_ERR(kaddr)) {
|
||||
nilfs_error(sb, "bad page in #%lu", inode->i_ino);
|
||||
ctx->pos += PAGE_SIZE - offset;
|
||||
return -EIO;
|
||||
}
|
||||
kaddr = page_address(page);
|
||||
de = (struct nilfs_dir_entry *)(kaddr + offset);
|
||||
limit = kaddr + nilfs_last_byte(inode, n) -
|
||||
NILFS_DIR_REC_LEN(1);
|
||||
@ -354,11 +359,9 @@ nilfs_find_entry(struct inode *dir, const struct qstr *qstr,
|
||||
start = 0;
|
||||
n = start;
|
||||
do {
|
||||
char *kaddr;
|
||||
char *kaddr = nilfs_get_page(dir, n, &page);
|
||||
|
||||
page = nilfs_get_page(dir, n);
|
||||
if (!IS_ERR(page)) {
|
||||
kaddr = page_address(page);
|
||||
if (!IS_ERR(kaddr)) {
|
||||
de = (struct nilfs_dir_entry *)kaddr;
|
||||
kaddr += nilfs_last_byte(dir, n) - reclen;
|
||||
while ((char *) de <= kaddr) {
|
||||
@ -396,15 +399,11 @@ found:
|
||||
|
||||
struct nilfs_dir_entry *nilfs_dotdot(struct inode *dir, struct page **p)
|
||||
{
|
||||
struct page *page = nilfs_get_page(dir, 0);
|
||||
struct nilfs_dir_entry *de = NULL;
|
||||
struct nilfs_dir_entry *de = nilfs_get_page(dir, 0, p);
|
||||
|
||||
if (!IS_ERR(page)) {
|
||||
de = nilfs_next_entry(
|
||||
(struct nilfs_dir_entry *)page_address(page));
|
||||
*p = page;
|
||||
}
|
||||
return de;
|
||||
if (IS_ERR(de))
|
||||
return NULL;
|
||||
return nilfs_next_entry(de);
|
||||
}
|
||||
|
||||
ino_t nilfs_inode_by_name(struct inode *dir, const struct qstr *qstr)
|
||||
@ -468,12 +467,11 @@ int nilfs_add_link(struct dentry *dentry, struct inode *inode)
|
||||
for (n = 0; n <= npages; n++) {
|
||||
char *dir_end;
|
||||
|
||||
page = nilfs_get_page(dir, n);
|
||||
err = PTR_ERR(page);
|
||||
if (IS_ERR(page))
|
||||
kaddr = nilfs_get_page(dir, n, &page);
|
||||
err = PTR_ERR(kaddr);
|
||||
if (IS_ERR(kaddr))
|
||||
goto out;
|
||||
lock_page(page);
|
||||
kaddr = page_address(page);
|
||||
dir_end = kaddr + nilfs_last_byte(dir, n);
|
||||
de = (struct nilfs_dir_entry *)kaddr;
|
||||
kaddr += PAGE_SIZE - reclen;
|
||||
@ -636,11 +634,10 @@ int nilfs_empty_dir(struct inode *inode)
|
||||
char *kaddr;
|
||||
struct nilfs_dir_entry *de;
|
||||
|
||||
page = nilfs_get_page(inode, i);
|
||||
if (IS_ERR(page))
|
||||
continue;
|
||||
kaddr = nilfs_get_page(inode, i, &page);
|
||||
if (IS_ERR(kaddr))
|
||||
return 0;
|
||||
|
||||
kaddr = page_address(page);
|
||||
de = (struct nilfs_dir_entry *)kaddr;
|
||||
kaddr += nilfs_last_byte(inode, i) - NILFS_DIR_REC_LEN(1);
|
||||
|
||||
|
@ -1701,6 +1701,7 @@ static void nilfs_segctor_prepare_write(struct nilfs_sc_info *sci)
|
||||
if (bh->b_page != bd_page) {
|
||||
if (bd_page) {
|
||||
lock_page(bd_page);
|
||||
wait_on_page_writeback(bd_page);
|
||||
clear_page_dirty_for_io(bd_page);
|
||||
set_page_writeback(bd_page);
|
||||
unlock_page(bd_page);
|
||||
@ -1714,6 +1715,7 @@ static void nilfs_segctor_prepare_write(struct nilfs_sc_info *sci)
|
||||
if (bh == segbuf->sb_super_root) {
|
||||
if (bh->b_page != bd_page) {
|
||||
lock_page(bd_page);
|
||||
wait_on_page_writeback(bd_page);
|
||||
clear_page_dirty_for_io(bd_page);
|
||||
set_page_writeback(bd_page);
|
||||
unlock_page(bd_page);
|
||||
@ -1730,6 +1732,7 @@ static void nilfs_segctor_prepare_write(struct nilfs_sc_info *sci)
|
||||
}
|
||||
if (bd_page) {
|
||||
lock_page(bd_page);
|
||||
wait_on_page_writeback(bd_page);
|
||||
clear_page_dirty_for_io(bd_page);
|
||||
set_page_writeback(bd_page);
|
||||
unlock_page(bd_page);
|
||||
|
@ -1946,6 +1946,8 @@ static int __ocfs2_change_file_space(struct file *file, struct inode *inode,
|
||||
|
||||
inode_lock(inode);
|
||||
|
||||
/* Wait all existing dio workers, newcomers will block on i_rwsem */
|
||||
inode_dio_wait(inode);
|
||||
/*
|
||||
* This prevents concurrent writes on other nodes
|
||||
*/
|
||||
|
@ -570,7 +570,7 @@ static int __ocfs2_mknod_locked(struct inode *dir,
|
||||
fe->i_last_eb_blk = 0;
|
||||
strcpy(fe->i_signature, OCFS2_INODE_SIGNATURE);
|
||||
fe->i_flags |= cpu_to_le32(OCFS2_VALID_FL);
|
||||
ktime_get_real_ts64(&ts);
|
||||
ts = current_kernel_time64();
|
||||
fe->i_atime = fe->i_ctime = fe->i_mtime =
|
||||
cpu_to_le64(ts.tv_sec);
|
||||
fe->i_mtime_nsec = fe->i_ctime_nsec = fe->i_atime_nsec =
|
||||
|
@ -219,13 +219,13 @@ out:
|
||||
return error;
|
||||
}
|
||||
|
||||
SYSCALL_DEFINE2(ftruncate, unsigned int, fd, unsigned long, length)
|
||||
SYSCALL_DEFINE2(ftruncate, unsigned int, fd, off_t, length)
|
||||
{
|
||||
return do_sys_ftruncate(fd, length, 1);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
COMPAT_SYSCALL_DEFINE2(ftruncate, unsigned int, fd, compat_ulong_t, length)
|
||||
COMPAT_SYSCALL_DEFINE2(ftruncate, unsigned int, fd, compat_off_t, length)
|
||||
{
|
||||
return do_sys_ftruncate(fd, length, 1);
|
||||
}
|
||||
|
@ -242,6 +242,8 @@ static ssize_t __read_vmcore(char *buffer, size_t buflen, loff_t *fpos,
|
||||
/* leave now if filled buffer already */
|
||||
if (buflen == 0)
|
||||
return acc;
|
||||
|
||||
cond_resched();
|
||||
}
|
||||
|
||||
list_for_each_entry(m, &vmcore_list, list) {
|
||||
|
@ -1471,15 +1471,9 @@ reread:
|
||||
inode->i_blocks = le64_to_cpu(fe->logicalBlocksRecorded) <<
|
||||
(inode->i_sb->s_blocksize_bits - 9);
|
||||
|
||||
if (!udf_disk_stamp_to_time(&inode->i_atime, fe->accessTime))
|
||||
inode->i_atime = sbi->s_record_time;
|
||||
|
||||
if (!udf_disk_stamp_to_time(&inode->i_mtime,
|
||||
fe->modificationTime))
|
||||
inode->i_mtime = sbi->s_record_time;
|
||||
|
||||
if (!udf_disk_stamp_to_time(&inode->i_ctime, fe->attrTime))
|
||||
inode->i_ctime = sbi->s_record_time;
|
||||
udf_disk_stamp_to_time(&inode->i_atime, fe->accessTime);
|
||||
udf_disk_stamp_to_time(&inode->i_mtime, fe->modificationTime);
|
||||
udf_disk_stamp_to_time(&inode->i_ctime, fe->attrTime);
|
||||
|
||||
iinfo->i_unique = le64_to_cpu(fe->uniqueID);
|
||||
iinfo->i_lenEAttr = le32_to_cpu(fe->lengthExtendedAttr);
|
||||
@ -1489,18 +1483,10 @@ reread:
|
||||
inode->i_blocks = le64_to_cpu(efe->logicalBlocksRecorded) <<
|
||||
(inode->i_sb->s_blocksize_bits - 9);
|
||||
|
||||
if (!udf_disk_stamp_to_time(&inode->i_atime, efe->accessTime))
|
||||
inode->i_atime = sbi->s_record_time;
|
||||
|
||||
if (!udf_disk_stamp_to_time(&inode->i_mtime,
|
||||
efe->modificationTime))
|
||||
inode->i_mtime = sbi->s_record_time;
|
||||
|
||||
if (!udf_disk_stamp_to_time(&iinfo->i_crtime, efe->createTime))
|
||||
iinfo->i_crtime = sbi->s_record_time;
|
||||
|
||||
if (!udf_disk_stamp_to_time(&inode->i_ctime, efe->attrTime))
|
||||
inode->i_ctime = sbi->s_record_time;
|
||||
udf_disk_stamp_to_time(&inode->i_atime, efe->accessTime);
|
||||
udf_disk_stamp_to_time(&inode->i_mtime, efe->modificationTime);
|
||||
udf_disk_stamp_to_time(&iinfo->i_crtime, efe->createTime);
|
||||
udf_disk_stamp_to_time(&inode->i_ctime, efe->attrTime);
|
||||
|
||||
iinfo->i_unique = le64_to_cpu(efe->uniqueID);
|
||||
iinfo->i_lenEAttr = le32_to_cpu(efe->lengthExtendedAttr);
|
||||
|
@ -887,6 +887,9 @@ static int udf_load_pvoldesc(struct super_block *sb, sector_t block)
|
||||
struct buffer_head *bh;
|
||||
uint16_t ident;
|
||||
int ret = -ENOMEM;
|
||||
#ifdef UDFFS_DEBUG
|
||||
struct timestamp *ts;
|
||||
#endif
|
||||
|
||||
outstr = kmalloc(128, GFP_NOFS);
|
||||
if (!outstr)
|
||||
@ -905,15 +908,15 @@ static int udf_load_pvoldesc(struct super_block *sb, sector_t block)
|
||||
|
||||
pvoldesc = (struct primaryVolDesc *)bh->b_data;
|
||||
|
||||
if (udf_disk_stamp_to_time(&UDF_SB(sb)->s_record_time,
|
||||
pvoldesc->recordingDateAndTime)) {
|
||||
udf_disk_stamp_to_time(&UDF_SB(sb)->s_record_time,
|
||||
pvoldesc->recordingDateAndTime);
|
||||
#ifdef UDFFS_DEBUG
|
||||
struct timestamp *ts = &pvoldesc->recordingDateAndTime;
|
||||
udf_debug("recording time %04u/%02u/%02u %02u:%02u (%x)\n",
|
||||
le16_to_cpu(ts->year), ts->month, ts->day, ts->hour,
|
||||
ts->minute, le16_to_cpu(ts->typeAndTimezone));
|
||||
ts = &pvoldesc->recordingDateAndTime;
|
||||
udf_debug("recording time %04u/%02u/%02u %02u:%02u (%x)\n",
|
||||
le16_to_cpu(ts->year), ts->month, ts->day, ts->hour,
|
||||
ts->minute, le16_to_cpu(ts->typeAndTimezone));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
ret = udf_dstrCS0toUTF8(outstr, 31, pvoldesc->volIdent, 32);
|
||||
if (ret < 0) {
|
||||
|
@ -244,8 +244,8 @@ extern struct long_ad *udf_get_filelongad(uint8_t *, int, uint32_t *, int);
|
||||
extern struct short_ad *udf_get_fileshortad(uint8_t *, int, uint32_t *, int);
|
||||
|
||||
/* udftime.c */
|
||||
extern struct timespec *udf_disk_stamp_to_time(struct timespec *dest,
|
||||
extern void udf_disk_stamp_to_time(struct timespec *dest,
|
||||
struct timestamp src);
|
||||
extern struct timestamp *udf_time_to_disk_stamp(struct timestamp *dest, struct timespec src);
|
||||
extern void udf_time_to_disk_stamp(struct timestamp *dest, struct timespec src);
|
||||
|
||||
#endif /* __UDF_DECL_H */
|
||||
|
@ -40,7 +40,7 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/time.h>
|
||||
|
||||
struct timespec *
|
||||
void
|
||||
udf_disk_stamp_to_time(struct timespec *dest, struct timestamp src)
|
||||
{
|
||||
u16 typeAndTimezone = le16_to_cpu(src.typeAndTimezone);
|
||||
@ -60,12 +60,21 @@ udf_disk_stamp_to_time(struct timespec *dest, struct timestamp src)
|
||||
dest->tv_sec = mktime64(year, src.month, src.day, src.hour, src.minute,
|
||||
src.second);
|
||||
dest->tv_sec -= offset * 60;
|
||||
dest->tv_nsec = 1000 * (src.centiseconds * 10000 +
|
||||
|
||||
/*
|
||||
* Sanitize nanosecond field since reportedly some filesystems are
|
||||
* recorded with bogus sub-second values.
|
||||
*/
|
||||
if (src.centiseconds < 100 && src.hundredsOfMicroseconds < 100 &&
|
||||
src.microseconds < 100) {
|
||||
dest->tv_nsec = 1000 * (src.centiseconds * 10000 +
|
||||
src.hundredsOfMicroseconds * 100 + src.microseconds);
|
||||
return dest;
|
||||
} else {
|
||||
dest->tv_nsec = 0;
|
||||
}
|
||||
}
|
||||
|
||||
struct timestamp *
|
||||
void
|
||||
udf_time_to_disk_stamp(struct timestamp *dest, struct timespec ts)
|
||||
{
|
||||
long seconds;
|
||||
@ -74,9 +83,6 @@ udf_time_to_disk_stamp(struct timestamp *dest, struct timespec ts)
|
||||
|
||||
offset = -sys_tz.tz_minuteswest;
|
||||
|
||||
if (!dest)
|
||||
return NULL;
|
||||
|
||||
dest->typeAndTimezone = cpu_to_le16(0x1000 | (offset & 0x0FFF));
|
||||
|
||||
seconds = ts.tv_sec + offset * 60;
|
||||
@ -92,7 +98,6 @@ udf_time_to_disk_stamp(struct timestamp *dest, struct timespec ts)
|
||||
dest->centiseconds * 10000) / 100;
|
||||
dest->microseconds = (ts.tv_nsec / 1000 - dest->centiseconds * 10000 -
|
||||
dest->hundredsOfMicroseconds * 100);
|
||||
return dest;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
@ -563,7 +563,7 @@ asmlinkage long compat_sys_open_by_handle_at(int mountdirfd,
|
||||
struct file_handle __user *handle,
|
||||
int flags);
|
||||
asmlinkage long compat_sys_truncate(const char __user *, compat_off_t);
|
||||
asmlinkage long compat_sys_ftruncate(unsigned int, compat_ulong_t);
|
||||
asmlinkage long compat_sys_ftruncate(unsigned int, compat_off_t);
|
||||
asmlinkage long compat_sys_pselect6(int n, compat_ulong_t __user *inp,
|
||||
compat_ulong_t __user *outp,
|
||||
compat_ulong_t __user *exp,
|
||||
|
@ -71,8 +71,8 @@ enum {
|
||||
NVMF_RDMA_QPTYPE_DATAGRAM = 2, /* Reliable Datagram */
|
||||
};
|
||||
|
||||
/* RDMA QP Service Type codes for Discovery Log Page entry TSAS
|
||||
* RDMA_QPTYPE field
|
||||
/* RDMA Provider Type codes for Discovery Log Page entry TSAS
|
||||
* RDMA_PRTYPE field
|
||||
*/
|
||||
enum {
|
||||
NVMF_RDMA_PRTYPE_NOT_SPECIFIED = 1, /* No Provider Specified */
|
||||
|
@ -125,6 +125,15 @@ enum pci_interrupt_pin {
|
||||
/* The number of legacy PCI INTx interrupts */
|
||||
#define PCI_NUM_INTX 4
|
||||
|
||||
/*
|
||||
* Reading from a device that doesn't respond typically returns ~0. A
|
||||
* successful read from a device may also return ~0, so you need additional
|
||||
* information to reliably identify errors.
|
||||
*/
|
||||
#define PCI_ERROR_RESPONSE (~0ULL)
|
||||
#define PCI_SET_ERROR_RESPONSE(val) (*(val) = ((typeof(*(val))) PCI_ERROR_RESPONSE))
|
||||
#define PCI_POSSIBLE_ERROR(val) ((val) == ((typeof(val)) PCI_ERROR_RESPONSE))
|
||||
|
||||
/*
|
||||
* pci_power_t values must match the bits in the Capabilities PME_Support
|
||||
* and Control/Status PowerState fields in the Power Management capability.
|
||||
|
@ -70,6 +70,7 @@ struct rpc_clnt {
|
||||
struct dentry *cl_debugfs; /* debugfs directory */
|
||||
#endif
|
||||
struct rpc_xprt_iter cl_xpi;
|
||||
struct super_block *pipefs_sb;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -426,7 +426,7 @@ asmlinkage long sys_mount(char __user *dev_name, char __user *dir_name,
|
||||
asmlinkage long sys_umount(char __user *name, int flags);
|
||||
asmlinkage long sys_oldumount(char __user *name);
|
||||
asmlinkage long sys_truncate(const char __user *path, long length);
|
||||
asmlinkage long sys_ftruncate(unsigned int fd, unsigned long length);
|
||||
asmlinkage long sys_ftruncate(unsigned int fd, off_t length);
|
||||
asmlinkage long sys_stat(const char __user *filename,
|
||||
struct __old_kernel_stat __user *statbuf);
|
||||
asmlinkage long sys_statfs(const char __user * path,
|
||||
|
@ -1395,18 +1395,46 @@ static inline int hci_check_conn_params(u16 min, u16 max, u16 latency,
|
||||
{
|
||||
u16 max_latency;
|
||||
|
||||
if (min > max || min < 6 || max > 3200)
|
||||
if (min > max) {
|
||||
BT_WARN("min %d > max %d", min, max);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (to_multiplier < 10 || to_multiplier > 3200)
|
||||
if (min < 6) {
|
||||
BT_WARN("min %d < 6", min);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (max >= to_multiplier * 8)
|
||||
if (max > 3200) {
|
||||
BT_WARN("max %d > 3200", max);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (to_multiplier < 10) {
|
||||
BT_WARN("to_multiplier %d < 10", to_multiplier);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (to_multiplier > 3200) {
|
||||
BT_WARN("to_multiplier %d > 3200", to_multiplier);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (max >= to_multiplier * 8) {
|
||||
BT_WARN("max %d >= to_multiplier %d * 8", max, to_multiplier);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
max_latency = (to_multiplier * 4 / max) - 1;
|
||||
if (latency > 499 || latency > max_latency)
|
||||
if (latency > 499) {
|
||||
BT_WARN("latency %d > 499", latency);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (latency > max_latency) {
|
||||
BT_WARN("latency %d > max_latency %d", latency, max_latency);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -443,6 +443,11 @@ static inline void *nft_set_priv(const struct nft_set *set)
|
||||
return (void *)set->data;
|
||||
}
|
||||
|
||||
static inline enum nft_data_types nft_set_datatype(const struct nft_set *set)
|
||||
{
|
||||
return set->dtype == NFT_DATA_VERDICT ? NFT_DATA_VERDICT : NFT_DATA_VALUE;
|
||||
}
|
||||
|
||||
static inline struct nft_set *nft_set_container_of(const void *priv)
|
||||
{
|
||||
return (void *)priv - offsetof(struct nft_set, data);
|
||||
|
@ -20,15 +20,17 @@
|
||||
#define HUGETLB_FLAG_ENCODE_SHIFT 26
|
||||
#define HUGETLB_FLAG_ENCODE_MASK 0x3f
|
||||
|
||||
#define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_2MB (21 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_8MB (23 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_16MB (24 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_256MB (28 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_1GB (30 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_2GB (31 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_16GB (34 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_64KB (16U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_512KB (19U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_1MB (20U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_2MB (21U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_8MB (23U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_16MB (24U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_32MB (25U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_256MB (28U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_512MB (29U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_1GB (30U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_2GB (31U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_16GB (34U << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
|
||||
#endif /* _ASM_GENERIC_HUGETLB_ENCODE_H_ */
|
||||
|
@ -25,7 +25,9 @@
|
||||
#define MFD_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB
|
||||
#define MFD_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB
|
||||
#define MFD_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB
|
||||
#define MFD_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB
|
||||
#define MFD_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB
|
||||
#define MFD_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB
|
||||
#define MFD_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB
|
||||
#define MFD_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB
|
||||
#define MFD_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB
|
||||
|
@ -28,7 +28,9 @@
|
||||
#define MAP_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB
|
||||
#define MAP_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB
|
||||
#define MAP_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB
|
||||
#define MAP_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB
|
||||
#define MAP_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB
|
||||
#define MAP_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB
|
||||
#define MAP_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB
|
||||
#define MAP_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB
|
||||
#define MAP_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB
|
||||
|
@ -65,7 +65,9 @@ struct shmid_ds {
|
||||
#define SHM_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB
|
||||
#define SHM_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB
|
||||
#define SHM_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB
|
||||
#define SHM_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB
|
||||
#define SHM_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB
|
||||
#define SHM_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB
|
||||
#define SHM_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB
|
||||
#define SHM_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB
|
||||
#define SHM_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB
|
||||
|
@ -19,7 +19,9 @@
|
||||
#include <linux/vmalloc.h>
|
||||
#include "gcov.h"
|
||||
|
||||
#if (__GNUC__ >= 10)
|
||||
#if (__GNUC__ >= 14)
|
||||
#define GCOV_COUNTERS 9
|
||||
#elif (__GNUC__ >= 10)
|
||||
#define GCOV_COUNTERS 8
|
||||
#elif (__GNUC__ >= 7)
|
||||
#define GCOV_COUNTERS 9
|
||||
|
@ -1304,7 +1304,8 @@ static bool rcu_torture_one_read(struct torture_random_state *trsp)
|
||||
preempt_disable();
|
||||
pipe_count = p->rtort_pipe_count;
|
||||
if (pipe_count > RCU_TORTURE_PIPE_LEN) {
|
||||
/* Should not happen, but... */
|
||||
// Should not happen in a correct RCU implementation,
|
||||
// happens quite often for torture_type=busted.
|
||||
pipe_count = RCU_TORTURE_PIPE_LEN;
|
||||
}
|
||||
completed = cur_ops->get_gp_seq();
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include <linux/cache.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/jiffies.h>
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <linux/byteorder/generic.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <linux/crc16.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/if_arp.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/if_vlan.h>
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <linux/byteorder/generic.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/if_arp.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/if_vlan.h>
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <linux/byteorder/generic.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <linux/byteorder/generic.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/in.h>
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/byteorder/generic.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/if.h>
|
||||
#include <linux/if_arp.h>
|
||||
#include <linux/if_ether.h>
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include "hash.h"
|
||||
#include "main.h"
|
||||
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/lockdep.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <linux/export.h>
|
||||
#include <linux/fcntl.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/list.h>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user