Am Montag, 13. Oktober 2003 18:23 schrieben Sie:Hi,
Oliver Neukum wrote:
Hi,I saw that after calling down(&usb_address0_sem) the process of the reset stopped. The same applies for kernel 2.6.0-test6 which I am currently looking into.
Sorry for being late. We have to know why. We cannot have two devices with address 0. There must be something else holding the lock. But where?
Regards Oliver
First of all I don't mind forward my mail. Second I wonder from the moment that the usb device is plugged device initially has address zero, and then host reassigns an address ! 0.
After thiss assignment do you release address0 ?
No we don't. That's bad. We definitely should do that. This is the minimal fix that should correct the issue. I hope it to be so small that it can still be included this late. Does it work for you?
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-10-13 20:35:22+02:00, [EMAIL PROTECTED] - fix deadlock for reset during probe
hub.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-)
diff -Nru a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c --- a/drivers/usb/core/hub.c Mon Oct 13 20:37:27 2003 +++ b/drivers/usb/core/hub.c Mon Oct 13 20:37:27 2003 @@ -979,8 +979,10 @@ dev->dev.parent = dev->parent->dev.parent->parent;
/* Run it through the hoops (find a driver, etc) */ + up(&usb_address0_sem); if (!usb_new_device(dev, &hub->dev)) - goto done; + return; + down(&usb_address0_sem);
/* Free the configuration if there was an error */ usb_put_dev(dev);
===================================================================
This BitKeeper patch contains the following changesets: 1.2519 ## Wrapped with gzip_uu ##
begin 664 bkpatch11402
M'XL(`.CPBC\``ZU5:VO;,!3]'/T*06%LE-AZVG)[EMAIL PROTECTED]
M*TAVLX)__&1G:[;,+5U68[#PM8[./>=8.L*W#NQH8);%/5ATA#\95XT&?KRJ
M-91!"[EMAIL PROTECTED]&SGSMQAA?"^=F!>%V0OC-`KBP=MF0!1+Y;Z[3*I]C7W*C`0WX
MXYOJ80VCP<V'C[>?3V\0&H_Q^3PM9_`5*CP>[EMAIL PROTECTED];Q=KGDL-XP0
M2BF3A,N(RH8ISD5#(Y)I/]0L3J99E*!TF1F;S_W"$U=!48)[EMAIL PROTECTED]
MU,-YR,1C"[EMAIL PROTECTED]"28\I"2D'#,RXG+$V#%A(T+PMME)CRKXF.$A06?X
M_QLX1SD>XFGQ'6M(]=+D"SPU%EMP7B)=VZ*<X;4U&:`K+$DD)+K>:8B&[EMAIL PROTECTED]
M1%*"WO?P/BNJ*X"U-Q>J/"QFI;&PWP(7,N&-D'$N,@):[EMAIL PROTECTED]
M%9<T:KA2,NKEI&T+W`4MG-=9D.\("[EMAIL PROTECTED],EI&DUES(70F92Q?([0[Y"Y
M)[/#W5&2#5&*RBZN?0WT)_=P`=',PFRR16IS^Z1HOF?)B!24-CQB*NDBS.E^
M@>@@#3UPSPJ=:@\2]ML]1!Z.K,/;C`;ARL<&5P-0?\4[YEX2J?YJWO7_#0
M;KK;I_.Z5^\#4GY)F<(4/<FH\[8_"_WN'AC%?6N?B1])&*,1CR5IB(A4W)E+
MF?C+7?D"=SD>TE?<GK0U:^PYWZ5:^YW)D;O6U0RFK9UYNERVNU1;+V%SI^&^
MR-OMJON)]OSM%^`0AQ-%O<.#0;U^^V:?VKL3=)$H[NN7[8/YSP86JMJ6)WZH
S:;LG?-X;/D#)5^X>C76/)L2+PSZ`6\5DPTR!P```
end
------------------------------------------------------------------------
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-10-13 20:35:22+02:00, [EMAIL PROTECTED] - fix deadlock for reset during probe
hub.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-)
diff -Nru a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c --- a/drivers/usb/core/hub.c Mon Oct 13 20:37:27 2003 +++ b/drivers/usb/core/hub.c Mon Oct 13 20:37:27 2003 @@ -979,8 +979,10 @@ dev->dev.parent = dev->parent->dev.parent->parent;
/* Run it through the hoops (find a driver, etc) */ + up(&usb_address0_sem); if (!usb_new_device(dev, &hub->dev)) - goto done; + return; + down(&usb_address0_sem);
/* Free the configuration if there was an error */ usb_put_dev(dev);
===================================================================
This BitKeeper patch contains the following changesets: 1.2519 ## Wrapped with gzip_uu ##
begin 664 bkpatch11402
M'XL(`.CPBC\``ZU5:VO;,!3]'/T*06%LE-AZVG)[EMAIL PROTECTED]
M*TAVLX)__&1G:[;,+5U68[#PM8[./>=8.L*W#NQH8);%/5ATA#\95XT&?KRJ
M-91!"[EMAIL PROTECTED]&SGSMQAA?"^=F!>%V0OC-`KBP=MF0!1+Y;Z[3*I]C7W*C`0WX
MXYOJ80VCP<V'C[>?3V\0&H_Q^3PM9_`5*CP>[EMAIL PROTECTED];Q=KGDL-XP0
M2BF3A,N(RH8ISD5#(Y)I/]0L3J99E*!TF1F;S_W"$U=!48)[EMAIL PROTECTED]
MU,-YR,1C"[EMAIL PROTECTED]"28\I"2D'#,RXG+$V#%A(T+PMME)CRKXF.$A06?X
M_QLX1SD>XFGQ'6M(]=+D"SPU%EMP7B)=VZ*<X;4U&:`K+$DD)+K>:8B&[EMAIL PROTECTED]
M1%*"WO?P/BNJ*X"U-Q>J/"QFI;&PWP(7,N&-D'$N,@):[EMAIL PROTECTED]
M%9<T:KA2,NKEI&T+W`4MG-=9D.\("[EMAIL PROTECTED],EI&DUES(70F92Q?([0[Y"Y
M)[/#W5&2#5&*RBZN?0WT)_=P`=',PFRR16IS^Z1HOF?)B!24-CQB*NDBS.E^
M@>@@#3UPSPJ=:@\2]ML]1!Z.K,/;C`;ARL<&5P-0?\4[YEX2J?YJWO7_#0
M;KK;I_.Z5^\#4GY)F<(4/<FH\[8_"_WN'AC%?6N?B1])&*,1CR5IB(A4W)E+
MF?C+7?D"=SD>TE?<GK0U:^PYWZ5:^YW)D;O6U0RFK9UYNERVNU1;+V%SI^&^
MR-OMJON)]OSM%^`0AQ-%O<.#0;U^^V:?VKL3=)$H[NN7[8/YSP86JMJ6)WZH
S:;LG?-X;/D#)5^X>C76/)L2+PSZ`6\5DPTR!P```
end
Along with your changes I uncomment the downs and ups of usb_address0_sem in physical_reset_device ( Kernel 2.5.70 ) and reset worked fine.
Will you commit the changes I 've made to physical_reset_device inside the main kernel tree ? I am currently working with kernel 2.6.0-tes6 and I observed that
after reset the device although I get bulk in endpoint of my device I use usb_fill_bulk_urb, when I try to submit the urb I get failure.
Regards,
Stavros Markou.
------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
