[PATCH] [2.4.20-pre10] dpt_i2o fix

From: Ducrot Bruno (poup@poupinou.org)
Date: Tue Oct 15 2002 - 08:40:01 EST


The first chunk of attached patch alloc wait_data with
kmalloc(..., GFP_ATOMIC) instead of GPF_KERNEL
in the function adpt_i2o_post_wait() because this function
is called in the function adpt_i2o_passthru() (line 1717 or
so) but with a spin_lock held.

The second chunk correct the expected behaviour in teh
function adpt_i2o_parse_lct().

The test 'if(pDev == NULL)' is always true, and the kmalloc
is done for pDev->next_lun.

--- linux-2.4.20-pre10/drivers/scsi/dpt_i2o.c 2002/10/15 12:07:13 1.1
+++ linux-2.4.20-pre10/drivers/scsi/dpt_i2o.c 2002/10/15 13:05:26
@@ -1122,7 +1122,7 @@
         ulong flags = 0;
         struct adpt_i2o_post_wait_data *p1, *p2;
         struct adpt_i2o_post_wait_data *wait_data =
- kmalloc(sizeof(struct adpt_i2o_post_wait_data),GFP_KERNEL);
+ kmalloc(sizeof(struct adpt_i2o_post_wait_data),GFP_ATOMIC);
         adpt_wait_queue_t wait;
 
         if(!wait_data){
@@ -1498,7 +1498,7 @@
                                                         pDev->next_lun; pDev = pDev->next_lun){
                                         }
                                         pDev->next_lun = kmalloc(sizeof(struct adpt_device),GFP_KERNEL);
- if(pDev == NULL) {
+ if(pDev->next_lun == NULL) {
                                                 return -ENOMEM;
                                         }
                                         memset(pDev->next_lun,0,sizeof(struct adpt_device));

Cheers,

-- 
Ducrot Bruno
http://www.poupinou.org        Page profaissionelle
http://toto.tu-me-saoules.com  Haume page
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:54 EST