mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-05 19:31:57 -04:00
This is the 5.4.288 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmdkUkYACgkQONu9yGCS aT5RDg//WKMt8BAC/HtVkHOaO2vJt7ADIawvJkSZD+ljKfPvydJsMydpfqcO1l7y aVahXIkDVsqyxNkkvZr9Sn19W6SQHD1yPsm76gbatSmHEydCvgOncrQgDYQOXDx5 pnMRwyPYd9P/9oXPfsGJK4dPL7dklL5vHYr+47kG47PJENeXCB2Z6LVEjSt9Sm6f 3dcoyUb0RsNSW7yoWX099UOH7B8/rYaTCXxAlrch/7vP5Uhfw5A2L2L/Tu/0zXNU 1G4/aHVDjabjQBkhV2Obh0OQcs5MSMMfor6cIABaaiotsDqPPVLzW+ciEC11FpvM aeRElnkxN9b27MrGTL62mgsJN0/yr1nyMZt9v0/B/bcbkPHKDse6RTz3jCXo2d52 BpGfj/7yw3c7rzFrFC3uxKUgnsJZFmyyadPGZJetBLwICJl/aNhrPt5ZYkTx+ety 90oMe510dbc/AHaSZ6cWkZy+0+ejBGVbbfja/L/Vji4mCJtmab2mTQkVuiuOBYeh pBotQzaaUQ0+QihMe3n+8PN5H/BKNBx3wvmzwrbVZ6pGA2Sz+wevuEBo6bKNmmpN iVmJZy+Y/W9ffllCUz4zGsu+hK2CxVQIHa7gw+NzmlqGovIGt70zvDonyWAHuy5A m9LFrDJkct0jc3X/6xN9gfuDPMrOIEmGXhjcGmmWaqrLh4MamtI= =2mmT -----END PGP SIGNATURE----- Merge 5.4.288 into android11-5.4-lts Changes in 5.4.288 usb: host: max3421-hcd: Correctly abort a USB request. ata: sata_highbank: fix OF node reference leak in highbank_initialize_phys() usb: dwc2: hcd: Fix GetPortStatus & SetPortFeature usb: ehci-hcd: fix call balance of clocks handling routines usb: gadget: u_serial: Fix the issue that gs_start_io crashed due to accessing null pointer xfs: don't drop errno values when we fail to ficlone the entire range bpf, sockmap: Fix update element with same batman-adv: Do not send uninitialized TT changes batman-adv: Remove uninitialized data in full table TT response batman-adv: Do not let TT changes list grows indefinitely tipc: fix NULL deref in cleanup_bearer() net: lapb: increase LAPB_HEADER_LEN ACPI: resource: Fix memory resource type union access qca_spi: Fix clock speed for multiple QCA7000 qca_spi: Make driver probing reliable net/sched: netem: account for backlog updates from child qdisc ACPICA: events/evxfregn: don't release the ContextMutex that was never acquired blk-iocost: clamp inuse and skip noops in __propagate_weights() blk-iocost: fix weight updates of inner active iocgs blk-iocost: Avoid using clamp() on inuse in __propagate_weights() KVM: arm64: Ignore PMCNTENSET_EL0 while checking for overflow status tracing/kprobes: Skip symbol counting logic for module symbols in create_local_trace_kprobe() xen/netfront: fix crash when removing device ALSA: usb-audio: Fix a DMA to stack memory bug Linux 5.4.288 Change-Id: Ie329f210978bae25fa2703d4106a3880bb9ba53c Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
commit
4d8aad9b5e
21 changed files with 166 additions and 83 deletions
|
|
@ -907,7 +907,27 @@ static void __propagate_active_weight(struct ioc_gq *iocg, u32 active, u32 inuse
|
|||
|
||||
lockdep_assert_held(&ioc->lock);
|
||||
|
||||
inuse = min(active, inuse);
|
||||
/*
|
||||
* For an active leaf node, its inuse shouldn't be zero or exceed
|
||||
* @active. An active internal node's inuse is solely determined by the
|
||||
* inuse to active ratio of its children regardless of @inuse.
|
||||
*/
|
||||
if (list_empty(&iocg->active_list) && iocg->child_active_sum) {
|
||||
inuse = DIV64_U64_ROUND_UP(active * iocg->child_inuse_sum,
|
||||
iocg->child_active_sum);
|
||||
} else {
|
||||
/*
|
||||
* It may be tempting to turn this into a clamp expression with
|
||||
* a lower limit of 1 but active may be 0, which cannot be used
|
||||
* as an upper limit in that situation. This expression allows
|
||||
* active to clamp inuse unless it is 0, in which case inuse
|
||||
* becomes 1.
|
||||
*/
|
||||
inuse = min(inuse, active) ?: 1;
|
||||
}
|
||||
|
||||
if (active == iocg->active && inuse == iocg->inuse)
|
||||
return;
|
||||
|
||||
for (lvl = iocg->level - 1; lvl >= 0; lvl--) {
|
||||
struct ioc_gq *parent = iocg->ancestors[lvl];
|
||||
|
|
@ -917,7 +937,7 @@ static void __propagate_active_weight(struct ioc_gq *iocg, u32 active, u32 inuse
|
|||
/* update the level sums */
|
||||
parent->child_active_sum += (s32)(active - child->active);
|
||||
parent->child_inuse_sum += (s32)(inuse - child->inuse);
|
||||
/* apply the udpates */
|
||||
/* apply the updates */
|
||||
child->active = active;
|
||||
child->inuse = inuse;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue