Hi Greg,

in block io or error paths we must use GFP_NOIO instead of GFP_KERNEL.
Under 2.4 we cannot tell and must assume the worst, hence always use GFP_NOIO.
This cset against your 2.4 BK tree does that for hcd drivers.

        Regards
                Oliver

You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.

===================================================================


[EMAIL PROTECTED], 2003-12-13 17:39:02+01:00, [EMAIL PROTECTED]
  -fix deadlocks with storage


 sl811.c    |    4 ++--
 usb-ohci.c |    2 +-
 usb-ohci.h |    2 +-
 usb-uhci.c |    4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)


diff -Nru a/drivers/usb/host/sl811.c b/drivers/usb/host/sl811.c
--- a/drivers/usb/host/sl811.c  Sat Dec 13 17:39:46 2003
+++ b/drivers/usb/host/sl811.c  Sat Dec 13 17:39:46 2003
@@ -652,7 +652,7 @@
 {
        struct sl811_urb_priv *urbp;
        
-       urbp = kmalloc(sizeof(*urbp), GFP_KERNEL);
+       urbp = kmalloc(sizeof(*urbp), GFP_ATOMIC);
        if (!urbp)
                return NULL;
        
@@ -763,7 +763,7 @@
        struct sl811_urb_priv *urbp = urb->hcpriv;
        struct sl811_td *td;
        
-       td = kmalloc(sizeof (*td), GFP_KERNEL);
+       td = kmalloc(sizeof (*td), GFP_ATOMIC);
        if (!td)
                return NULL;
        
diff -Nru a/drivers/usb/host/usb-ohci.c b/drivers/usb/host/usb-ohci.c
--- a/drivers/usb/host/usb-ohci.c       Sat Dec 13 17:39:46 2003
+++ b/drivers/usb/host/usb-ohci.c       Sat Dec 13 17:39:46 2003
@@ -628,7 +628,7 @@
 
        /* allocate the private part of the URB */
        urb_priv = kmalloc (sizeof (urb_priv_t) + size * sizeof (td_t *), 
-                                                       in_interrupt() ? GFP_ATOMIC : 
GFP_KERNEL);
+                                                       in_interrupt() ? GFP_ATOMIC : 
GFP_NOIO);
        if (!urb_priv) {
                usb_dec_dev_use (urb->dev);     
                return -ENOMEM;
diff -Nru a/drivers/usb/host/usb-ohci.h b/drivers/usb/host/usb-ohci.h
--- a/drivers/usb/host/usb-ohci.h       Sat Dec 13 17:39:46 2003
+++ b/drivers/usb/host/usb-ohci.h       Sat Dec 13 17:39:46 2003
@@ -439,7 +439,7 @@
 
 /*-------------------------------------------------------------------------*/
 
-#define ALLOC_FLAGS (in_interrupt () || current->state != TASK_RUNNING ? GFP_ATOMIC : 
GFP_KERNEL)
+#define ALLOC_FLAGS (in_interrupt () || current->state != TASK_RUNNING ? GFP_ATOMIC : 
GFP_NOIO)
 
 #ifdef DEBUG
 #      define OHCI_MEM_FLAGS   SLAB_POISON
diff -Nru a/drivers/usb/host/usb-uhci.c b/drivers/usb/host/usb-uhci.c
--- a/drivers/usb/host/usb-uhci.c       Sat Dec 13 17:39:46 2003
+++ b/drivers/usb/host/usb-uhci.c       Sat Dec 13 17:39:46 2003
@@ -88,8 +88,8 @@
        static kmem_cache_t *urb_priv_kmem;
 #endif
 
-#define SLAB_FLAG     (in_interrupt () || current->state != TASK_RUNNING ? 
SLAB_ATOMIC : SLAB_KERNEL)
-#define KMALLOC_FLAG  (in_interrupt () || current->state != TASK_RUNNING ? GFP_ATOMIC 
: GFP_KERNEL)
+#define SLAB_FLAG     (in_interrupt () || current->state != TASK_RUNNING ? 
SLAB_ATOMIC : SLAB_NOIO)
+#define KMALLOC_FLAG  (in_interrupt () || current->state != TASK_RUNNING ? GFP_ATOMIC 
: GFP_NOIO)
 
 /* CONFIG_USB_UHCI_HIGH_BANDWITH turns on Full Speed Bandwidth
  * Reclamation: feature that puts loop on descriptor loop when

===================================================================


This BitKeeper patch contains the following changesets:
1.1214
## Wrapped with gzip_uu ##


begin 664 bkpatch3202
M'XL(`-)`VS\``\U777/:.!1]QK_B[N2%M(O1ER6;';JA29HRH9`AR=/.3D;8
M`GL`F_%'N]OQCU_)3A-(:`)T=Z<:0,A"UT?W')\KCN`V4VFGD2RBSRJUCN!C
MDN6=AOZ^+`(5V[$JYL723M*9GALGB9YKA\E2M>L%[9M4J:P]2]6,,$O_Y$KF
[EMAIL PROTECTED])NLTL$T?KN1_KU2G,3Z_N!WTQI;5[<)I*..9NE8Y=+O69'X2%&IAS]-$
MAN9NY<-T21#"R$&84,81*9%`V"FY"[EMAIL PROTECTED]'F.PP*LL+4H?&FG4:9QR9,L+X(H
ML8LXFB1VE&\&[EMAIL PROTECTED]@@BU"WU``GK#+"M+S)`M(U)&U/`HD.]#B)O$>[EMAIL PROTECTED]/5F
M3[9D!=XR:"'K/?SX#DXM'UK3Z"\(E`P6B3_/X$N4AY#E22IGRKH$EPAN73UF
MSFKMV2P+262]VP(V2,T.LW:13<R[E81^9(=KR!VLD6/*'+><3)'DW./<I2K@
M+G\A/1MQ0RVM)[EMAIL PROTECTED]'>QX>"=PA5GO/P5'D>.(<N)([EMAIL PROTECTED]
MW&T']QA\'1PEG)G,&:6?U,C\9/F'&?[Y/$ZV<#&^#X($9IIX%Z.2$^%Z94`$
M\SR"A<FB=.5>"-<CK\-CR&&[$_LL=_J#B5)[EMAIL PROTECTED])Z83"7W#N-U"S:/\.J1
M?V'1=A/X`?#6)E.O`M8/I2#(<:DHJ8,XKTR!N9N6(#IL%TO`T,+_GB5<?+BZ
MNSP?#\\'$,4P,<X`40(KF8?:$^KLCJ"5?JE>^B&_>BG1!WC&&:<8L-6ONT;=
[EMAIL PROTECTED];[EMAIL PROTECTED]&G_JGT*D&PU%_=/S;*\2'>Q"[EMAIL PROTECTED]
MG7U=$+!6DJ"X+@<_/_.U7^[,?'@(\XP1PWS='05J&L4*>H/!Z/3NPZ!W<0W-
M=1V`%D)[EMAIL PROTECTED]"7[IPT[N^O!O?#H?]X<5WI?)]I11[6,0^M6$G
MI13;/8)X!-4>00Y2"H$6^=\\HBI>[EMAIL PROTECTED]/[EMAIL PROTECTED]"9AV
MD%*J$`]2J4:U5K[=X_+3HQH/O,<^:KPOOT:*_\%)X%4];E1_W<PQ%KNF^G-2
MB9'_7%JLSZ^K**X$&:I%4%4L<U9Y38WW6SVH7#E.5:ZJKE&DDQ5T8;Z4"XVB
MF45?53)MOC&7CW]=(U^7JC/!N5E9=XT\>+8.FF_RX.FRAS\Y?JCTJ;U8=ID^
/@OA3H:Q_`'P-G.U?#0``
`
end




-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to