De-init camera or no peripheral is connected to the channel issue

I have a board like this. ESP32S3 Wroom1. Mine is not Freenove, but everything else matches.

I want to take a photo and then halt the camera.

Sketch:

#include <AcksenButton.h>
#include "esp_camera.h"

#define BUTTON_OK_GPIO_NUM 47

AcksenButton OK_Button(BUTTON_OK_GPIO_NUM, ACKSEN_BUTTON_MODE_NORMAL, 42, INPUT_PULLUP);

void setup() {
    Serial.begin(115200);
}

void loop() {
  if (OK_Button.onPressed()) {
    Serial.println("shooting");
    initCamera();
    shoot();
    esp_camera_deinit();
  }

  OK_Button.refreshStatus();
}

//esp32s3 eye
#define PWDN_GPIO_NUM  -1
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM  15
#define SIOD_GPIO_NUM  4
#define SIOC_GPIO_NUM  5

#define Y2_GPIO_NUM 11
#define Y3_GPIO_NUM 9
#define Y4_GPIO_NUM 8
#define Y5_GPIO_NUM 10
#define Y6_GPIO_NUM 12
#define Y7_GPIO_NUM 18
#define Y8_GPIO_NUM 17
#define Y9_GPIO_NUM 16

#define VSYNC_GPIO_NUM 6
#define HREF_GPIO_NUM  7
#define PCLK_GPIO_NUM  13

bool initCamera() {
  camera_config_t config;  config.ledc_channel = LEDC_CHANNEL_0;
  config.ledc_timer = LEDC_TIMER_0;
  config.pin_d0 = Y2_GPIO_NUM;
  config.pin_d1 = Y3_GPIO_NUM;
  config.pin_d2 = Y4_GPIO_NUM;
  config.pin_d3 = Y5_GPIO_NUM;
  config.pin_d4 = Y6_GPIO_NUM;
  config.pin_d5 = Y7_GPIO_NUM;
  config.pin_d6 = Y8_GPIO_NUM;
  config.pin_d7 = Y9_GPIO_NUM;
  config.pin_xclk = XCLK_GPIO_NUM;
  config.pin_pclk = PCLK_GPIO_NUM;
  config.pin_vsync = VSYNC_GPIO_NUM;
  config.pin_href = HREF_GPIO_NUM;
  config.pin_sccb_sda = SIOD_GPIO_NUM;
  config.pin_sccb_scl = SIOC_GPIO_NUM;
  config.pin_pwdn = PWDN_GPIO_NUM;
  config.pin_reset = RESET_GPIO_NUM;
  config.xclk_freq_hz = 20000000;
  config.frame_size = FRAMESIZE_UXGA;
  config.pixel_format = PIXFORMAT_JPEG;
	//init with high specs to pre-allocate larger buffers
	if (psramFound())
	{
    Serial.println("\nFound PSRAM, this will improve performance!");
		config.frame_size = FRAMESIZE_XGA;
		config.jpeg_quality = 9;
		config.fb_count = 2;
    config.grab_mode = CAMERA_GRAB_LATEST;
	}
	else
	{
    Serial.println("\nWarning, PSRAM not detected. If your board has PSRAM, activate it from Tools/PSRAM ('OPI PRAM' option worked for me) !");
		config.frame_size = FRAMESIZE_SVGA;
		config.jpeg_quality = 12;
		config.fb_count = 1;
	}

#if defined(CAMERA_MODEL_ESP_EYE)
	pinMode(13, INPUT_PULLUP);
	pinMode(14, INPUT_PULLUP);
#endif

	// camera init
	esp_err_t err = esp_camera_init(&config);
	if (err != ESP_OK)
	{
		Serial.printf("Camera init failed with error 0x%x", err);
		return false;
	}

	sensor_t *s = esp_camera_sensor_get();
	//initial sensors are flipped vertically and colors are a bit saturated
	if (s->id.PID == OV3660_PID)
	{
		s->set_vflip(s, 1);		  //flip it back
		s->set_brightness(s, 1);  //up the blightness just a bit
		s->set_saturation(s, -2); //lower the saturation
	}
	//drop down frame size for higher initial frame rate
	// s->set_framesize(s, FRAMESIZE_UXGA);

  

#if defined(CAMERA_MODEL_M5STACK_WIDE)
	s->set_vflip(s, 1);
	s->set_hmirror(s, 1);
#endif
  return true;
}

void shoot() {
  camera_fb_t * fb = NULL;

  fb = esp_camera_fb_get();
  esp_camera_fb_return(fb);

  Serial.print("img of length: ");
  Serial.println(fb->len);
}

so when I press the button, camera inits, gets the frame buffer and outputs it's lenght followed by an error message.

Logs:

12:31:56.811 -> OK
12:31:56.811 -> 
12:31:56.811 -> Found PSRAM, this will improve performance!
12:31:57.748 -> img of length: 23002
12:31:57.748 -> E (2672) gdma: gdma_disconnect(238): no peripheral is connected to the channel

there is an error:
E (2672) gdma: gdma_disconnect(238): no peripheral is connected to the channel and I believe this blocks camera from porperly de-init esp_camera_deinit.
Gradually board is getting quite hot after the first photo taking. When I don't take the photo it sits cool.

My question is how do I get rid of that error? Is my config bad? I need to properly de-init camera after taking the shot.

Thanks

suggest you change the title of the thread to better describe your question

there are many people that will suggest camera de-init is not my issue.

not deleted

You need to provide some links or details to the actual board and camera you are using.

See here: esp32 - reset camera pins state to neutral state - Arduino Stack Exchange

OP just doesn't want to believe that the problem might be something else. They have an answer over there it looks like. They just don't want to accept that it isn't what they think.

it's this one I ordered. I doesn't have anything more technical, it looks like that Freenove version that I'm linking but exactly. may be just a crappy board...

that is my question, I created this topic that targets basically the same problem from a bit different angle.
on stackoverflow, there is not a single hint on anything that can be wrong with this very simple circuit with a and stripped down code. You suggest that I wired button wrong? Or that My issue is where? Just leave the thread, please, when you cannot suggest a reasonable thing.

this always was about the camera de-init, which apparently going wrong in here, the only hint I have is persisting signal on camera pins and this error. there's nothing more there. work with what you have or just don't.