[patch 10/59] Repair snd-usb-usx2y over OHCI

2007-02-02 Thread Chris Wright
-stable review patch.  If anyone has any objections, please let us know.
--

From: Karsten Wiese <[EMAIL PROTECTED]>

The previous patch "Repair snd-usb-usx2y for usb 2.6.18" assumed
urb->start_frame roll over beyond MAX_INT for both UHCI & OHCI.
This isn't true until now (kernel 2.6.20).
Fix this by only looking at the common between OHCI & UHCI Frame number
range.
This is for mainline and stable kernels >= 2.6.18.

Signed-off-by: Karsten Wiese <[EMAIL PROTECTED]>
Signed-off-by: Chris Wright <[EMAIL PROTECTED]>
---
 sound/usb/usx2y/usbusx2yaudio.c |2 +-
 sound/usb/usx2y/usx2yhwdeppcm.c |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.19.2.orig/sound/usb/usx2y/usbusx2yaudio.c
+++ linux-2.6.19.2/sound/usb/usx2y/usbusx2yaudio.c
@@ -322,7 +322,7 @@ static void i_usX2Y_urb_complete(struct 
usX2Y_error_urb_status(usX2Y, subs, urb);
return;
}
-   if (likely(urb->start_frame == usX2Y->wait_iso_frame))
+   if (likely((urb->start_frame & 0x) == (usX2Y->wait_iso_frame & 
0x)))
subs->completed_urb = urb;
else {
usX2Y_error_sequence(usX2Y, subs, urb);
--- linux-2.6.19.2.orig/sound/usb/usx2y/usx2yhwdeppcm.c
+++ linux-2.6.19.2/sound/usb/usx2y/usx2yhwdeppcm.c
@@ -243,7 +243,7 @@ static void i_usX2Y_usbpcm_urb_complete(
usX2Y_error_urb_status(usX2Y, subs, urb);
return;
}
-   if (likely(urb->start_frame == usX2Y->wait_iso_frame))
+   if (likely((urb->start_frame & 0x) == (usX2Y->wait_iso_frame & 
0x)))
subs->completed_urb = urb;
else {
usX2Y_error_sequence(usX2Y, subs, urb);

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[patch 10/59] Repair snd-usb-usx2y over OHCI

2007-02-02 Thread Chris Wright
-stable review patch.  If anyone has any objections, please let us know.
--

From: Karsten Wiese [EMAIL PROTECTED]

The previous patch Repair snd-usb-usx2y for usb 2.6.18 assumed
urb-start_frame roll over beyond MAX_INT for both UHCI  OHCI.
This isn't true until now (kernel 2.6.20).
Fix this by only looking at the common between OHCI  UHCI Frame number
range.
This is for mainline and stable kernels = 2.6.18.

Signed-off-by: Karsten Wiese [EMAIL PROTECTED]
Signed-off-by: Chris Wright [EMAIL PROTECTED]
---
 sound/usb/usx2y/usbusx2yaudio.c |2 +-
 sound/usb/usx2y/usx2yhwdeppcm.c |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.19.2.orig/sound/usb/usx2y/usbusx2yaudio.c
+++ linux-2.6.19.2/sound/usb/usx2y/usbusx2yaudio.c
@@ -322,7 +322,7 @@ static void i_usX2Y_urb_complete(struct 
usX2Y_error_urb_status(usX2Y, subs, urb);
return;
}
-   if (likely(urb-start_frame == usX2Y-wait_iso_frame))
+   if (likely((urb-start_frame  0x) == (usX2Y-wait_iso_frame  
0x)))
subs-completed_urb = urb;
else {
usX2Y_error_sequence(usX2Y, subs, urb);
--- linux-2.6.19.2.orig/sound/usb/usx2y/usx2yhwdeppcm.c
+++ linux-2.6.19.2/sound/usb/usx2y/usx2yhwdeppcm.c
@@ -243,7 +243,7 @@ static void i_usX2Y_usbpcm_urb_complete(
usX2Y_error_urb_status(usX2Y, subs, urb);
return;
}
-   if (likely(urb-start_frame == usX2Y-wait_iso_frame))
+   if (likely((urb-start_frame  0x) == (usX2Y-wait_iso_frame  
0x)))
subs-completed_urb = urb;
else {
usX2Y_error_sequence(usX2Y, subs, urb);

--
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/