Remove pointer dereference after free and set pointer to NULL after free.

Addresses-Coverity-ID: 1091173
Signed-off-by: Gustavo A. R. Silva <garsi...@embeddedor.com>
---
Changes in v2:
 Move pointer dereference before pci_pool_free()
 Set pointer to NULL after free

 drivers/usb/gadget/udc/pch_udc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/udc/pch_udc.c b/drivers/usb/gadget/udc/pch_udc.c
index a97da64..73bb58f 100644
--- a/drivers/usb/gadget/udc/pch_udc.c
+++ b/drivers/usb/gadget/udc/pch_udc.c
@@ -1522,8 +1522,9 @@ static void pch_udc_free_dma_chain(struct pch_udc_dev *dev,
                /* do not free first desc., will be done by free for request */
                td = phys_to_virt(addr);
                addr2 = (dma_addr_t)td->next;
-               pci_pool_free(dev->data_requests, td, addr);
                td->next = 0x00;
+               pci_pool_free(dev->data_requests, td, addr);
+               td = NULL;
                addr = addr2;
        }
        req->chain_len = 1;
--
2.5.0




Reply via email to