On Thu, 17 Jun 2021 15:18:03 +0200, Dan Carpenter wrote: > > Hello Takashi Iwai, > > The patch f9a6bb841f73: "ALSA: seq: Fix assignment in if condition" > from Jun 8, 2021, leads to the following static checker warning: > > sound/core/seq/oss/seq_oss_init.c:99 snd_seq_oss_create_client() > warn: 'port->addr.port' is unsigned > > sound/core/seq/oss/seq_oss_init.c > 82 > 83 /* create annoucement receiver port */ > 84 memset(port, 0, sizeof(*port)); > 85 strcpy(port->name, "Receiver"); > 86 port->addr.client = system_client; > 87 port->capability = SNDRV_SEQ_PORT_CAP_WRITE; /* receive only */ > 88 port->type = 0; > 89 > 90 memset(&port_callback, 0, sizeof(port_callback)); > 91 /* don't set port_callback.owner here. otherwise the module counter > 92 * is incremented and we can no longer release the module.. > 93 */ > 94 port_callback.event_input = receive_announce; > 95 port->kernel = &port_callback; > 96 > 97 call_ctl(SNDRV_SEQ_IOCTL_CREATE_PORT, port); > 98 system_port = port->addr.port; > 99 if (system_port >= 0) { > ^^^^^^^^^^^^^^^^ > This was from the old code. It's not clear what is going on. I think > the condition can be deleted. Yeah, that's a quite old code. The check should have been like if (call_ctl(SNDRV_SEQ_IOCTL_CREATE_PORT, port) >= 0) { .... and system_port is assigned in that block. I'll cook up the patch. thanks, Takashi