aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/drivers/acpi.c2
-rw-r--r--kernel/features/fs.c5
-rw-r--r--kernel/features/io.c2
-rw-r--r--kernel/features/mm.c3
-rw-r--r--kernel/features/net.c4
5 files changed, 6 insertions, 10 deletions
diff --git a/kernel/drivers/acpi.c b/kernel/drivers/acpi.c
index 5ab0ac6..b8dad22 100644
--- a/kernel/drivers/acpi.c
+++ b/kernel/drivers/acpi.c
@@ -88,7 +88,7 @@ void hpet_install(u32 period)
r->config |= hpet_enable;
assert(r->tick_period + period < HPET_MAX_PERIOD);
r->timer_comparator0 = r->tick_period + period;
- r->timer_comparator0 = period;
+ /* r->timer_comparator0 = period; */
} else {
hpet = NULL;
}
diff --git a/kernel/features/fs.c b/kernel/features/fs.c
index 923ab7c..dc8c071 100644
--- a/kernel/features/fs.c
+++ b/kernel/features/fs.c
@@ -318,8 +318,7 @@ static res ext2_read_inode(struct ext2_inode *in, void *buf, u32 offset, u32 cou
u32 remaining = MIN(count, in->size - offset);
u32 copied = 0;
- u32 indirect = 0;
- u32 blocknum = 0;
+ u32 indirect, blocknum;
// TODO: Support triply indirect pointers
for (u32 i = first_block; i <= last_block; i++) {
@@ -412,8 +411,8 @@ static struct ext2_inode *ext2_find_inode_by_path(const char *path, struct ext2_
path_cp++;
u32 current_inode = EXT2_ROOT;
- u32 i = 0;
while (1) {
+ u32 i;
for (i = 0; path_cp[i] != '/' && path_cp[i] != '\0'; i++)
;
diff --git a/kernel/features/io.c b/kernel/features/io.c
index eb4b7a5..bc7977a 100644
--- a/kernel/features/io.c
+++ b/kernel/features/io.c
@@ -84,7 +84,6 @@ res io_poll(u32 *devs)
struct io_dev *dev = io_get(io);
if (!dev || !dev->read) {
io_remove_group(group);
- group--;
return -ENOENT;
}
@@ -92,7 +91,6 @@ res io_poll(u32 *devs)
res ready = dev->ready();
if (ready == EOK) {
io_remove_group(group);
- group--;
return io;
} else if (ready != -EAGAIN) {
return ready;
diff --git a/kernel/features/mm.c b/kernel/features/mm.c
index eca1aae..0f80fda 100644
--- a/kernel/features/mm.c
+++ b/kernel/features/mm.c
@@ -730,9 +730,8 @@ void memory_user_hook(void)
CLEAR void memory_install(void)
{
// Set all memory 'used'
- for (u32 i = 0; i < 1024 * 1024 / 8; i++) {
+ for (u32 i = 0; i < sizeof(memory); i++)
memory[i] = 0xff;
- }
// Free memory using mmap
multiboot_mmap();
diff --git a/kernel/features/net.c b/kernel/features/net.c
index 6c971cd..530837b 100644
--- a/kernel/features/net.c
+++ b/kernel/features/net.c
@@ -259,12 +259,12 @@ static void ip_send_packet(u32 dst, void *data, int len, u8 prot)
if (data)
memcpy(packet->data, data, (u32)len);
- int arp_sent = 3;
u8 zero_hardware_addr[] = { 0, 0, 0, 0, 0, 0 };
u8 dst_mac[6];
if (same_net(dst)) {
scheduler_disable();
sti();
+ int arp_sent = 3;
while (!arp_lookup(dst_mac, dst)) {
if (arp_sent) {
arp_sent--;
@@ -321,7 +321,7 @@ static void tcp_send_packet(struct socket *socket, u16 flags, void *data, int le
packet->src_port = (u16)htons(socket->src_port);
packet->dst_port = (u16)htons(socket->dst_port);
packet->seq_number = htonl(socket->prot.tcp.seq_no);
- packet->ack_number = flags & TCP_FLAG_ACK ? htonl(socket->prot.tcp.ack_no) : 0;
+ packet->ack_number = (flags & TCP_FLAG_ACK) ? htonl(socket->prot.tcp.ack_no) : 0;
packet->flags = (u16)htons(0x5000 ^ (flags & 0xff));
packet->window_size = htons(U16_MAX); // TODO: Support TCP windows
packet->urgent = 0;