
< 	rc = sscanf(buffer, "%x %x %x %x %x %x %x", &slct, &oflw, &chn, &rsc, &anc,
< 		    &erc, &rsid);
---
> 	char *p = buffer;
> 	rc = 0;
> 	rc += kstrtoul(p, 16, &slct) == 0; p = strchr(p, ' ');
> 	rc += p && kstrtoul(p+1, 16, &oflw) == 0; p = strchr(p, ' ');
> 	rc += p && kstrtoul(p+1, 16, &chn) == 0; p = strchr(p, ' ');
> 	rc += p && kstrtoul(p+1, 16, &rsc) == 0; p = strchr(p, ' ');
> 	rc += p && kstrtoul(p+1, 16, &anc) == 0; p = strchr(p, ' ');
> 	rc += p && kstrtoul(p+1, 16, &erc) == 0; p = strchr(p, ' ');
> 	rc += p && kstrtoul(p+1, 16, &rsid) == 0;
