lkml.org 
[lkml]   [2002]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
Subject[PATCH] [2.4.20-pre10] dpt_i2o fix
From
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/

\
 
 \ /
  Last update: 2005-03-22 13:30    [W:0.040 / U:0.412 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site