|
@@ -12,6 +12,7 @@
|
|
|
#include <linux/init.h>
|
|
|
#include <linux/slab.h>
|
|
|
#include <linux/wait.h>
|
|
|
+#include <linux/fs.h>
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/usb.h>
|
|
|
#include <linux/delay.h>
|
|
@@ -990,22 +991,9 @@ static int stc_open(struct inode *inode, struct file *file)
|
|
|
}
|
|
|
|
|
|
static ssize_t stc_read(struct file *file, char *buf, size_t count,
|
|
|
- loff_t * offset)
|
|
|
+ loff_t *offset)
|
|
|
{
|
|
|
- int tc = count;
|
|
|
-
|
|
|
- if ((tc + *offset) > 8192)
|
|
|
- tc = 8192 - *offset;
|
|
|
-
|
|
|
- if (tc < 0)
|
|
|
- return 0;
|
|
|
-
|
|
|
- if (copy_to_user(buf, stc_firmware + *offset, tc))
|
|
|
- return -EFAULT;
|
|
|
-
|
|
|
- *offset += tc;
|
|
|
-
|
|
|
- return tc;
|
|
|
+ return simple_read_from_buffer(buf, count, offset, stc_firmware, 8192);
|
|
|
}
|
|
|
|
|
|
static int stc_release(struct inode *inode, struct file *file)
|