Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89cf7ccc authored by Jan Beulich's avatar Jan Beulich Committed by Dave Jones
Browse files

[AGPGART] Intel-agp adjustments



Fix a call to __free_page where __free_pages(, 2) was meant, and do proper
error path handling. Also remove a redundant conditional.

Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
Signed-off-by: default avatarDave Jones <davej@redhat.com>
parent 9eeee244
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -186,8 +186,9 @@ static void *i8xx_alloc_pages(void)
		return NULL;

	if (change_page_attr(page, 4, PAGE_KERNEL_NOCACHE) < 0) {
		change_page_attr(page, 4, PAGE_KERNEL);
		global_flush_tlb();
		__free_page(page);
		__free_pages(page, 2);
		return NULL;
	}
	global_flush_tlb();
@@ -209,7 +210,7 @@ static void i8xx_destroy_pages(void *addr)
	global_flush_tlb();
	put_page(page);
	unlock_page(page);
	free_pages((unsigned long)addr, 2);
	__free_pages(page, 2);
	atomic_dec(&agp_bridge->current_memory_agp);
}

@@ -315,9 +316,6 @@ static struct agp_memory *alloc_agpphysmem_i8xx(size_t pg_count, int type)
	struct agp_memory *new;
	void *addr;

	if (pg_count != 1 && pg_count != 4)
		return NULL;

	switch (pg_count) {
	case 1: addr = agp_bridge->driver->agp_alloc_page(agp_bridge);
		global_flush_tlb();