/*
* Copyright (c) 2013, The Linux Foundation. All rights reserved.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef _DT_BINDINGS_RESET_MSM_MMCC_8974_H
#define _DT_BINDINGS_RESET_MSM_MMCC_8974_H
#define SPDM_RESET 0
#define SPDM_RM_RESET 1
#define VENUS0_RESET 2
#define MDSS_RESET 3
#define CAMSS_PHY0_RESET 4
#define CAMSS_PHY1_RESET 5
#define CAMSS_PHY2_RESET 6
#define CAMSS_CSI0_RESET 7
#define CAMSS_CSI0PHY_RESET 8
#define CAMSS_CSI0RDI_RESET 9
#define CAMSS_CSI0PIX_RESET 10
#define CAMSS_CSI1_RESET 11
#define CAMSS_CSI1PHY_RESET 12
#define CAMSS_CSI1RDI_RESET 13
#define CAMSS_CSI1PIX_RESET 14
#define CAMSS_CSI2_RESET 15
#define CAMSS_CSI2PHY_RESET 16
#define CAMSS_CSI2RDI_RESET 17
#define CAMSS_CSI2PIX_RESET 18
#define CAMSS_CSI3_RESET 19
#define CAMSS_CSI3PHY_RESET 20
#define CAMSS_CSI3RDI_RESET 21
#define CAMSS_CSI3PIX_RESET 22
#define CAMSS_ISPIF_RESET 23
#define CAMSS_CCI_RESET 24
#define CAMSS_MCLK0_RESET 25
#define CAMSS_MCLK1_RESET 26
#define CAMSS_MCLK2_RESET 27
#define CAMSS_MCLK3_RESET 28
#define CAMSS_GP0_RESET 29
#define CAMSS_GP1_RESET 30
#define CAMSS_TOP_RESET 31
#define CAMSS_MICRO_RESET 32
#define CAMSS_JPEG_RESET 33
#define CAMSS_VFE_RESET 34
#define CAMSS_CSI_VFE0_RESET 35
#define CAMSS_CSI_VFE1_RESET 36
#define OXILI_RESET 37
#define OXILICX_RESET 38
#define OCMEMCX_RESET 39
#define MMSS_RBCRP_RESET 40
#define MMSSNOCAHB_RESET 41
#define MMSSNOCAXI_RESET 42
#define OCMEMNOC_RESET 43
#endif
atman-adv/log.h?id=433e19cf33d34bb6751c874a9c00980552fe508c'>commitdiff
Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()
Commit a389fcfd2cb5 ("Drivers: hv: vmbus: Fix signaling logic in
hv_need_to_signal_on_read()")
added the proper mb(), but removed the test "prev_write_sz < pending_sz"
when making the signal decision.
As a result, the guest can signal the host unnecessarily,
and then the host can throttle the guest because the host
thinks the guest is buggy or malicious; finally the user
running stress test can perceive intermittent freeze of
the guest.
This patch brings back the test, and properly handles the
in-place consumption APIs used by NetVSC (see get_next_pkt_raw(),
put_pkt_raw() and commit_rd_index()).
Fixes: a389fcfd2cb5 ("Drivers: hv: vmbus: Fix signaling logic in
hv_need_to_signal_on_read()")
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Reported-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Tested-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>