X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/fdda6e9262ba019da93832120a9999941e9b8f3b..3c47a7cd435662f7e2daa006596722271f5dd090:/lincan/src/finish.c diff --git a/lincan/src/finish.c b/lincan/src/finish.c index 6a69222..226c4e2 100644 --- a/lincan/src/finish.c +++ b/lincan/src/finish.c @@ -118,7 +118,7 @@ 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; @@ -146,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; }