From: Bernardo C. <bj...@ef...> - 2003-03-18 16:32:29
|
Hello, I'm not sure, but I think this is the right place to send this patch. BUG: Unreached code: memset() after a return in an if statement. SOLUTION: the memset() must be out of the if statement. Anyways, I was reading the whole sir_dev.c code, and can't catch up why the blanking of the "new allocated" buffers" is needed. At least by this part of code, no reference to the buffers is done wihthout length, IMHO. Maybe is it needed by some other piece of code that interacts with buffers?. If it's not the case, maybe we can remove both "buffer initialization" statements of memset(), and it will save a little CPU time too (a very little :)). Maybe that's the reason why nobody notice the unrecheable code before, it's simply that the code portion isn't needed in any way. I send two patches, you can decide which one to apply, the first simply moves the memset() out of the if stament, the second removes both memset()s. This is the patch moving memset() out of the if: --- sir_dev.c.orig Thu Mar 13 10:47:03 2003 +++ sir_dev.c Thu Mar 13 13:39:44 2003 @@ -436,9 +436,9 @@ kfree(dev->rx_buff.head); dev->rx_buff.head = NULL; return -ENOMEM; - memset(dev->tx_buff.head, 0, dev->tx_buff.truesize); } + memset(dev->tx_buff.head, 0, dev->tx_buff.truesize); dev->tx_buff.data = dev->tx_buff.head; dev->rx_buff.data = dev->rx_buff.head; dev->tx_buff.len = 0; The following was the other patch, removing these two statements: --- sir_dev.c.orig Thu Mar 13 10:47:03 2003 +++ sir_dev.c Thu Mar 13 14:00:07 2003 @@ -429,14 +429,12 @@ dev->rx_buff.head = kmalloc(dev->rx_buff.truesize, GFP_KERNEL); if (dev->rx_buff.head == NULL) return -ENOMEM; - memset(dev->rx_buff.head, 0, dev->rx_buff.truesize); dev->tx_buff.head = kmalloc(dev->tx_buff.truesize, GFP_KERNEL); if (dev->tx_buff.head == NULL) { kfree(dev->rx_buff.head); dev->rx_buff.head = NULL; return -ENOMEM; - memset(dev->tx_buff.head, 0, dev->tx_buff.truesize); } dev->tx_buff.data = dev->tx_buff.head; Please let me know if you apply one of these patches, and response to my mail directly, if needed, since I'm not suscribed to irda-users list. Saludos BJ Bernardo Clavijo |