summaryrefslogtreecommitdiff
path: root/kernel/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers')
-rw-r--r--kernel/drivers/keyboard.c1
-rw-r--r--kernel/drivers/rtl8139.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/kernel/drivers/keyboard.c b/kernel/drivers/keyboard.c
index f59e6a8..da04b1c 100644
--- a/kernel/drivers/keyboard.c
+++ b/kernel/drivers/keyboard.c
@@ -183,6 +183,7 @@ int keyboard_read(u8 *buffer, u64 offset, u64 len, vfs_fd_t *fd) {
}
void add_keyboard(void) {
+ kprintf("very important");
kb_inode = devfs_add_file("/keyboard", keyboard_read, NULL, NULL, 0, 0,
FS_TYPE_CHAR_DEVICE);
}
diff --git a/kernel/drivers/rtl8139.c b/kernel/drivers/rtl8139.c
index 6e738db..b178078 100644
--- a/kernel/drivers/rtl8139.c
+++ b/kernel/drivers/rtl8139.c
@@ -105,6 +105,12 @@ void rtl8139_handler(void *regs) {
}
void rtl8139_send_data(u8 *data, u16 data_size) {
+ if (data_size > 0x1000) {
+ rtl8139_send_data(data, 0x1000);
+ data += 0x1000;
+ data_size -= 0x1000;
+ return rtl8139_send_data(data, data_size);
+ }
kprintf("ipc_write\n");
ipc_write(0, data, data_size);
/*