greybus: es1: no BUG_ON() code, report an error and recover.

This commit is contained in:
Greg Kroah-Hartman 2014-09-30 18:21:36 -07:00
parent 1cfc667d75
commit a6cdb3492e
1 changed files with 7 additions and 1 deletions

View File

@ -116,7 +116,13 @@ static int alloc_gbuf_data(struct gbuf *gbuf, unsigned int size, gfp_t gfp_mask)
* we will encode the cport number in the first byte of the buffer, so
* set the second byte to be the "transfer buffer"
*/
BUG_ON(gbuf->cport_id > (u16)U8_MAX);
if (gbuf->cport_id > (u16)U8_MAX) {
pr_err("gbuf->cport_id is '%d' and is out of range!\n",
gbuf->cport_id);
kfree(buffer);
return -EINVAL;
}
buffer[0] = gbuf->cport_id;
gbuf->transfer_buffer = &buffer[1];
gbuf->transfer_buffer_length = size;