aboutsummaryrefslogtreecommitdiff
path: root/linux/chudisk.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/chudisk.c')
-rw-r--r--linux/chudisk.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/linux/chudisk.c b/linux/chudisk.c
index f50551c..3d6f79b 100644
--- a/linux/chudisk.c
+++ b/linux/chudisk.c
@@ -601,6 +601,16 @@ static void chudisk_exit(void)
{
struct ch375 *dev = &chudisk_dev[0];
struct gendisk **gdp;
+ int i;
+
+ // Flush buffers for all minors
+ for (i = 0; i < CHUDISK_MAX_MINORS; i++) {
+ kdev_t mdevno = MKDEV(MAJOR_NR, i);
+
+ fsync_dev(mdevno);
+ invalidate_inodes_dev(mdevno);
+ invalidate_buffers(mdevno);
+ }
// Remove from genhd list
for(gdp = &gendisk_head; *gdp; gdp = &((*gdp)->next)) {