linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Binbin Wu <binbin.wu@intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Lee Jones <lee.jones@linaro.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.19 020/118] mfd: intel-lpss: Set the device in reset state when init
Date: Thu, 13 Jun 2019 10:32:38 +0200	[thread overview]
Message-ID: <20190613075644.774718572@linuxfoundation.org> (raw)
In-Reply-To: <20190613075643.642092651@linuxfoundation.org>

[ Upstream commit dad06532292d77f37fbe831a02948a593500f682 ]

In virtualized setup, when system reboots due to warm
reset interrupt storm is seen.

Call Trace:
<IRQ>
dump_stack+0x70/0xa5
__report_bad_irq+0x2e/0xc0
note_interrupt+0x248/0x290
? add_interrupt_randomness+0x30/0x220
handle_irq_event_percpu+0x54/0x80
handle_irq_event+0x39/0x60
handle_fasteoi_irq+0x91/0x150
handle_irq+0x108/0x180
do_IRQ+0x52/0xf0
common_interrupt+0xf/0xf
</IRQ>
RIP: 0033:0x76fc2cfabc1d
Code: 24 28 bf 03 00 00 00 31 c0 48 8d 35 63 77 0e 00 48 8d 15 2e
94 0e 00 4c 89 f9 49 89 d9 4c 89 d3 e8 b8 e2 01 00 48 8b 54 24 18
<48> 89 ef 48 89 de 4c 89 e1 e8 d5 97 01 00 84 c0 74 2d 48 8b 04
24
RSP: 002b:00007ffd247c1fc0 EFLAGS: 00000293 ORIG_RAX: ffffffffffffffda
RAX: 0000000000000000 RBX: 00007ffd247c1ff0 RCX: 000000000003d3ce
RDX: 0000000000000000 RSI: 00007ffd247c1ff0 RDI: 000076fc2cbb6010
RBP: 000076fc2cded010 R08: 00007ffd247c2210 R09: 00007ffd247c22a0
R10: 000076fc29465470 R11: 0000000000000000 R12: 00007ffd247c1fc0
R13: 000076fc2ce8e470 R14: 000076fc27ec9960 R15: 0000000000000414
handlers:
[<000000000d3fa913>] idma64_irq
Disabling IRQ #27

To avoid interrupt storm, set the device in reset state
before bringing out the device from reset state.

Changelog v2:
- correct the subject line by adding "mfd: "

Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/mfd/intel-lpss.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
index 50bffc3382d7..ff3fba16e735 100644
--- a/drivers/mfd/intel-lpss.c
+++ b/drivers/mfd/intel-lpss.c
@@ -273,6 +273,9 @@ static void intel_lpss_init_dev(const struct intel_lpss *lpss)
 {
 	u32 value = LPSS_PRIV_SSP_REG_DIS_DMA_FIN;
 
+	/* Set the device in reset state */
+	writel(0, lpss->priv + LPSS_PRIV_RESETS);
+
 	intel_lpss_deassert_reset(lpss);
 
 	intel_lpss_set_remap_addr(lpss);
-- 
2.20.1




  parent reply	other threads:[~2019-06-13 16:20 UTC|newest]

Thread overview: 133+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-13  8:32 [PATCH 4.19 000/118] 4.19.51-stable review Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 001/118] rapidio: fix a NULL pointer dereference when create_workqueue() fails Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 002/118] fs/fat/file.c: issue flush after the writeback of FAT Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 003/118] sysctl: return -EINVAL if val violates minmax Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 004/118] ipc: prevent lockup on alloc_msg and free_msg Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 005/118] drm/pl111: Initialize clock spinlock early Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 006/118] ARM: prevent tracing IPI_CPU_BACKTRACE Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 007/118] mm/hmm: select mmu notifier when selecting HMM Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 008/118] hugetlbfs: on restore reserve error path retain subpool reservation Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 009/118] mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 010/118] mm/cma.c: fix crash on CMA allocation if bitmap allocation fails Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 011/118] initramfs: free initrd memory if opening /initrd.image fails Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 012/118] mm/cma.c: fix the bitmap status to show failed allocation reason Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 013/118] mm: page_mkclean vs MADV_DONTNEED race Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 014/118] mm/cma_debug.c: fix the break condition in cma_maxchunk_get() Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 015/118] mm/slab.c: fix an infinite loop in leaks_show() Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 016/118] kernel/sys.c: prctl: fix false positive in validate_prctl_map() Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 017/118] thermal: rcar_gen3_thermal: disable interrupt in .remove Greg Kroah-Hartman
2019-06-16 19:41   ` Pavel Machek
2019-06-13  8:32 ` [PATCH 4.19 018/118] drivers: thermal: tsens: Dont print error message on -EPROBE_DEFER Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 019/118] mfd: tps65912-spi: Add missing of table registration Greg Kroah-Hartman
2019-06-13  8:32 ` Greg Kroah-Hartman [this message]
2019-06-13  8:32 ` [PATCH 4.19 021/118] drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 022/118] mfd: twl6040: Fix device init errors for ACCCTL register Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 023/118] perf/x86/intel: Allow PEBS multi-entry in watermark mode Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 024/118] drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 025/118] drm/bridge: adv7511: Fix low refresh rate selection Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 026/118] objtool: Dont use ignore flag for fake jumps Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 027/118] drm/nouveau/kms/gv100-: fix spurious window immediate interlocks Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 028/118] bpf: fix undefined behavior in narrow load handling Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 029/118] EDAC/mpc85xx: Prevent building as a module Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 030/118] pwm: meson: Use the spin-lock only to protect register modifications Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 031/118] mailbox: stm32-ipcc: check invalid irq Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 032/118] ntp: Allow TAI-UTC offset to be set to zero Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 033/118] f2fs: fix to avoid panic in do_recover_data() Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 034/118] f2fs: fix to avoid panic in f2fs_inplace_write_data() Greg Kroah-Hartman
2019-06-16 19:54   ` Pavel Machek
2019-06-18  7:01     ` Chao Yu
2019-06-13  8:32 ` [PATCH 4.19 035/118] f2fs: fix to avoid panic in f2fs_remove_inode_page() Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 036/118] f2fs: fix to do sanity check on free nid Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 037/118] f2fs: fix to clear dirty inode in error path of f2fs_iget() Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 038/118] f2fs: fix to avoid panic in dec_valid_block_count() Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 039/118] f2fs: fix to use inline space only if inline_xattr is enable Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 040/118] f2fs: fix to do sanity check on valid block count of segment Greg Kroah-Hartman
2019-06-13  8:32 ` [PATCH 4.19 041/118] f2fs: fix to do checksum even if inode page is uptodate Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 042/118] percpu: remove spurious lock dependency between percpu and sched Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 043/118] configfs: fix possible use-after-free in configfs_register_group Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 044/118] uml: fix a boot splat wrt use of cpu_all_mask Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 045/118] PCI: dwc: Free MSI in dw_pcie_host_init() error path Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 046/118] PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi() Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 047/118] ovl: do not generate duplicate fsnotify events for "fake" path Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 048/118] mmc: mmci: Prevent polling for busy detection in IRQ context Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 049/118] netfilter: nf_flow_table: fix missing error check for rhashtable_insert_fast Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 050/118] netfilter: nf_conntrack_h323: restore boundary check correctness Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 051/118] mips: Make sure dt memory regions are valid Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 052/118] netfilter: nf_tables: fix base chain stat rcu_dereference usage Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 053/118] watchdog: imx2_wdt: Fix set_timeout for big timeout values Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 054/118] watchdog: fix compile time error of pretimeout governors Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 055/118] blk-mq: move cancel of requeue_work into blk_mq_release Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 056/118] iommu/vt-d: Set intel_iommu_gfx_mapped correctly Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 057/118] misc: pci_endpoint_test: Fix test_reg_bar to be updated in pci_endpoint_test Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 058/118] PCI: designware-ep: Use aligned ATU window for raising MSI interrupts Greg Kroah-Hartman
2019-06-16 20:00   ` Pavel Machek
2019-06-13  8:33 ` [PATCH 4.19 059/118] nvme-pci: unquiesce admin queue on shutdown Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 060/118] nvme-pci: shutdown on timeout during deletion Greg Kroah-Hartman
2019-06-16 19:57   ` Pavel Machek
2019-06-13  8:33 ` [PATCH 4.19 061/118] netfilter: nf_flow_table: check ttl value in flow offload data path Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 062/118] netfilter: nf_flow_table: fix netdev refcnt leak Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 063/118] ALSA: hda - Register irq handler after the chip initialization Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 064/118] nvmem: core: fix read buffer in place Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 065/118] nvmem: sunxi_sid: Support SID on A83T and H5 Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 066/118] fuse: retrieve: cap requested size to negotiated max_write Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 067/118] nfsd: allow fh_want_write to be called twice Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 068/118] nfsd: avoid uninitialized variable warning Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 069/118] vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING" Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 070/118] iommu/arm-smmu-v3: Dont disable SMMU in kdump kernel Greg Kroah-Hartman
2019-06-16 19:42   ` Pavel Machek
2019-06-16 20:06     ` Will Deacon
2019-06-13  8:33 ` [PATCH 4.19 071/118] switchtec: Fix unintended mask of MRPC event Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 072/118] net: thunderbolt: Unregister ThunderboltIP protocol handler when suspending Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 073/118] x86/PCI: Fix PCI IRQ routing table memory leak Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 074/118] i40e: Queues are reserved despite "Invalid argument" error Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 075/118] platform/chrome: cros_ec_proto: check for NULL transfer function Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 076/118] PCI: keystone: Prevent ARM32 specific code to be compiled for ARM64 Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 077/118] soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 078/118] clk: rockchip: Turn on "aclk_dmac1" for suspend on rk3288 Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 079/118] soc: rockchip: Set the proper PWM for rk3288 Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 080/118] ARM: dts: imx51: Specify IMX5_CLK_IPG as "ahb" clock to SDMA Greg Kroah-Hartman
2019-06-15 20:05   ` Pavel Machek
2019-06-13  8:33 ` [PATCH 4.19 081/118] ARM: dts: imx50: " Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 082/118] ARM: dts: imx53: " Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 083/118] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG " Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 084/118] ARM: dts: imx6sll: Specify IMX6SLL_CLK_IPG as "ipg" " Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 085/118] ARM: dts: imx7d: Specify IMX7D_CLK_IPG " Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 086/118] ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG " Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 087/118] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG " Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 088/118] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG " Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 089/118] PCI: rpadlpar: Fix leaked device_node references in add/remove paths Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 090/118] drm/amd/display: Use plane->color_space for dpp if specified Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 091/118] ALSA: seq: Protect in-kernel ioctl calls with mutex Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 092/118] ARM: OMAP2+: pm33xx-core: Do not Turn OFF CEFUSE as PPA may be using it Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 093/118] platform/x86: intel_pmc_ipc: adding error handling Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 094/118] power: supply: max14656: fix potential use-before-alloc Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 095/118] net: hns3: return 0 and print warning when hit duplicate MAC Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 096/118] PCI: rcar: Fix a potential NULL pointer dereference Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 097/118] PCI: rcar: Fix 64bit MSI message address handling Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 098/118] scsi: qla2xxx: Reset the FCF_ASYNC_{SENT|ACTIVE} flags Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 099/118] video: hgafb: fix potential NULL pointer dereference Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 100/118] video: imsttfb: fix potential NULL pointer dereferences Greg Kroah-Hartman
2019-06-13  8:33 ` [PATCH 4.19 101/118] block, bfq: increase idling for weight-raised queues Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 102/118] PCI: xilinx: Check for __get_free_pages() failure Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 103/118] gpio: gpio-omap: add check for off wake capable gpios Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 104/118] ice: Add missing case in print_link_msg for printing flow control Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 105/118] dmaengine: idma64: Use actual device for DMA transfers Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 106/118] pwm: tiehrpwm: Update shadow register for disabling PWMs Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 107/118] ARM: dts: exynos: Always enable necessary APIO_1V8 and ABB_1V8 regulators on Arndale Octa Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 108/118] pwm: Fix deadlock warning when removing PWM device Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 109/118] ARM: exynos: Fix undefined instruction during Exynos5422 resume Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 110/118] usb: typec: fusb302: Check vconn is off when we start toggling Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 111/118] soc: renesas: Identify R-Car M3-W ES1.3 Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 112/118] gpio: vf610: Do not share irq_chip Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 113/118] percpu: do not search past bitmap when allocating an area Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 114/118] Revert "Bluetooth: Align minimum encryption key size for LE and BR/EDR connections" Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 115/118] Revert "drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)" Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 116/118] ovl: check the capability before cred overridden Greg Kroah-Hartman
2019-06-13  8:34 ` [PATCH 4.19 117/118] ovl: support stacked SEEK_HOLE/SEEK_DATA Greg Kroah-Hartman
2019-06-16 19:59   ` Pavel Machek
2019-06-13  8:34 ` [PATCH 4.19 118/118] drm/vc4: fix fb references in async update Greg Kroah-Hartman
2019-06-13 13:30 ` [PATCH 4.19 000/118] 4.19.51-stable review kernelci.org bot
2019-06-13 18:33 ` Naresh Kamboju
2019-06-13 20:02 ` Guenter Roeck
2019-06-14  2:37 ` shuah
2019-06-14 10:29 ` Jon Hunter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190613075644.774718572@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=binbin.wu@intel.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).