On 2020-09-17 5:15 PM, Rojewski, Cezary wrote: > On 2020-09-16 5:24 PM, Andy Shevchenko wrote: >> On Tue, Sep 15, 2020 at 06:29:32PM +0200, Cezary Rojewski wrote: >>> Declare base structures, registers and device routines for the catpt >>> solution. Catpt deprecates and is a direct replacement for >>> sound/soc/intel/haswell. Supports Lynxpoint and Wildcat Point both. ... >>> +static int __maybe_unused catpt_suspend(struct device *dev) >>> +{ >>> + struct catpt_dev *cdev = dev_get_drvdata(dev); >>> + struct dma_chan *chan; >>> + int ret; >>> + >>> + chan = catpt_dma_request_config_chan(cdev); >>> + if (IS_ERR(chan)) >>> + return PTR_ERR(chan); >>> + >>> + memset(&cdev->dx_ctx, 0, sizeof(cdev->dx_ctx)); >>> + ret = catpt_ipc_enter_dxstate(cdev, CATPT_DX_STATE_D3, &cdev->dx_ctx); >>> + if (ret) { >>> + ret = CATPT_IPC_ERROR(ret); >>> + goto exit; >>> + } >>> + >>> + ret = catpt_dsp_stall(cdev, true); >>> + if (ret) >>> + goto exit; >>> + >>> + ret = catpt_store_memdumps(cdev, chan); >>> + if (ret) { >>> + dev_err(cdev->dev, "store memdumps failed: %d\n", ret); >>> + goto exit; >>> + } >>> + >>> + ret = catpt_store_module_states(cdev, chan); >>> + if (ret) { >>> + dev_err(cdev->dev, "store module states failed: %d\n", ret); >>> + goto exit; >>> + } >>> + >>> + ret = catpt_store_streams_context(cdev, chan); >>> + if (ret) { >>> + dev_err(cdev->dev, "store streams ctx failed: %d\n", ret); >>> + goto exit; >>> + } >> >>> +exit: >> >> I would rather name it as 'out_dma_release' or so to explain what's going to be >> done. >> > > I find more descriptive labels inviting reader into: "this is an error > path" thinking and that's why I prefer to stick with simple 'exit'. If > you think that's not a way to go, can change this. > As I'm sending v7, goto labels have been updated to be move readable as you requested: 'release_dma_chan'. Notice that 'if' preceding 'exit' label can be simplified: drop goto, drop redundant brackets. I've added that into v7 update too. Thanks, Czarek