diff options
Diffstat (limited to 'drivers/char/agp/alpha-agp.c')
| -rw-r--r-- | drivers/char/agp/alpha-agp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/char/agp/alpha-agp.c b/drivers/char/agp/alpha-agp.c index b4e00a343da9..b0acf41c0db9 100644 --- a/drivers/char/agp/alpha-agp.c +++ b/drivers/char/agp/alpha-agp.c | |||
| @@ -91,6 +91,9 @@ static int alpha_core_agp_insert_memory(struct agp_memory *mem, off_t pg_start, | |||
| 91 | int num_entries, status; | 91 | int num_entries, status; |
| 92 | void *temp; | 92 | void *temp; |
| 93 | 93 | ||
| 94 | if (type >= AGP_USER_TYPES || mem->type >= AGP_USER_TYPES) | ||
| 95 | return -EINVAL; | ||
| 96 | |||
| 94 | temp = agp_bridge->current_size; | 97 | temp = agp_bridge->current_size; |
| 95 | num_entries = A_SIZE_FIX(temp)->num_entries; | 98 | num_entries = A_SIZE_FIX(temp)->num_entries; |
| 96 | if ((pg_start + mem->page_count) > num_entries) | 99 | if ((pg_start + mem->page_count) > num_entries) |
| @@ -142,6 +145,7 @@ struct agp_bridge_driver alpha_core_agp_driver = { | |||
| 142 | .free_by_type = agp_generic_free_by_type, | 145 | .free_by_type = agp_generic_free_by_type, |
| 143 | .agp_alloc_page = agp_generic_alloc_page, | 146 | .agp_alloc_page = agp_generic_alloc_page, |
| 144 | .agp_destroy_page = agp_generic_destroy_page, | 147 | .agp_destroy_page = agp_generic_destroy_page, |
| 148 | .agp_type_to_mask_type = agp_generic_type_to_mask_type, | ||
| 145 | }; | 149 | }; |
| 146 | 150 | ||
| 147 | struct agp_bridge_data *alpha_bridge; | 151 | struct agp_bridge_data *alpha_bridge; |
