X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/779bc3b8240d56d70de8822803be364ca9c9ec8f..fe719367cdb25978d42261513dd9810c22481960:/lincan/src/finish.c diff --git a/lincan/src/finish.c b/lincan/src/finish.c index 2766c01..d1f6a87 100644 --- a/lincan/src/finish.c +++ b/lincan/src/finish.c @@ -118,6 +118,10 @@ void canchip_done(struct canchip_t *chip) } can_checked_free(chip->chipspecops); + + if(~chip->flags & CHIP_KEEP_DATA) + can_checked_free(chip->chip_data); + chip->chip_data = NULL; chip->chipspecops=NULL; } @@ -142,6 +146,9 @@ void candevice_done(struct candevice_t *candev) candev->hwspecops->release_io(candev); candev->flags &= ~CANDEV_IO_RESERVED; } + if(candev->hwspecops->done_hw_data != NULL) + candev->hwspecops->done_hw_data(candev); + can_checked_free(candev->hwspecops); candev->hwspecops=NULL; }