Hello Cezary Rojewski, The patch a9aa6fb3eb6c: "ASoC: Intel: catpt: Firmware loading and context restore" from Sep 29, 2020, leads to the following static checker warning: sound/soc/intel/catpt/loader.c:654 catpt_first_boot_firmware() warn: consider using resource_size() here sound/soc/intel/catpt/loader.c 638 int catpt_first_boot_firmware(struct catpt_dev *cdev) 639 { 640 struct resource *res; 641 int ret; 642 643 ret = catpt_boot_firmware(cdev, false); 644 if (ret) { 645 dev_err(cdev->dev, "basefw boot failed: %d\n", ret); 646 return ret; 647 } 648 649 /* restrict FW Core dump area */ 650 __request_region(&cdev->dram, 0, 0x200, NULL, 0); 651 /* restrict entire area following BASE_FW - highest offset in DRAM */ 652 for (res = cdev->dram.child; res->sibling; res = res->sibling) 653 ; 654 __request_region(&cdev->dram, res->end + 1, 655 cdev->dram.end - res->end, NULL, 0); ^^^^^^^^^^^^^^^^^^^^^^^^^ It's been years since I have seen one of these warnings. Back in the day we used have have a lot of off by one warnings because resource_size() is supposed to be calculated as "end - start + 1". But here we are calculating "dram.end - res->end" so I'm not sure if the math is correct or not. This is very new code so hopefully you know the answer off the top of your head? 656 657 ret = catpt_ipc_get_mixer_stream_info(cdev, &cdev->mixer); 658 if (ret) 659 return CATPT_IPC_ERROR(ret); 660 661 ret = catpt_arm_stream_templates(cdev); 662 if (ret) { 663 dev_err(cdev->dev, "arm templates failed: %d\n", ret); 664 return ret; 665 } 666 667 /* update dram pg for scratch and restricted regions */ 668 catpt_dsp_update_srampge(cdev, &cdev->dram, cdev->spec->dram_mask); 669 670 return 0; 671 } regards, dan carpenter