]>
Commit | Line | Data |
---|---|---|
82094b55 AF |
1 | From: Greg Kroah-Hartman <gregkh@suse.de> |
2 | Subject: Linux 2.6.27.38 | |
3 | ||
4 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
5 | ||
6 | diff --git a/Makefile b/Makefile | |
7 | index e063536..3be1470 100644 | |
8 | --- a/Makefile | |
9 | +++ b/Makefile | |
10 | @@ -1,7 +1,7 @@ | |
11 | VERSION = 2 | |
12 | PATCHLEVEL = 6 | |
13 | SUBLEVEL = 27 | |
14 | -EXTRAVERSION = .37 | |
15 | +EXTRAVERSION = .38 | |
16 | NAME = Trembling Tortoise | |
17 | ||
18 | # *DOCUMENTATION* | |
19 | diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c | |
20 | index ee6be59..5f76f55 100644 | |
21 | --- a/drivers/scsi/scsi.c | |
22 | +++ b/drivers/scsi/scsi.c | |
23 | @@ -243,10 +243,7 @@ scsi_host_alloc_command(struct Scsi_Host *shost, gfp_t gfp_mask) | |
24 | */ | |
25 | struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *shost, gfp_t gfp_mask) | |
26 | { | |
27 | - struct scsi_cmnd *cmd; | |
28 | - unsigned char *buf; | |
29 | - | |
30 | - cmd = scsi_host_alloc_command(shost, gfp_mask); | |
31 | + struct scsi_cmnd *cmd = scsi_host_alloc_command(shost, gfp_mask); | |
32 | ||
33 | if (unlikely(!cmd)) { | |
34 | unsigned long flags; | |
35 | @@ -260,9 +257,15 @@ struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *shost, gfp_t gfp_mask) | |
36 | spin_unlock_irqrestore(&shost->free_list_lock, flags); | |
37 | ||
38 | if (cmd) { | |
39 | + void *buf, *prot; | |
40 | + | |
41 | buf = cmd->sense_buffer; | |
42 | + prot = cmd->prot_sdb; | |
43 | + | |
44 | memset(cmd, 0, sizeof(*cmd)); | |
45 | + | |
46 | cmd->sense_buffer = buf; | |
47 | + cmd->prot_sdb = prot; | |
48 | } | |
49 | } | |
50 | ||
51 | diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c | |
52 | index 240aad1..657fc25 100644 | |
53 | --- a/drivers/usb/serial/digi_acceleport.c | |
54 | +++ b/drivers/usb/serial/digi_acceleport.c | |
55 | @@ -892,16 +892,16 @@ static void digi_rx_unthrottle(struct tty_struct *tty) | |
56 | ||
57 | spin_lock_irqsave(&priv->dp_port_lock, flags); | |
58 | ||
59 | - /* turn throttle off */ | |
60 | - priv->dp_throttled = 0; | |
61 | - priv->dp_throttle_restart = 0; | |
62 | - | |
63 | /* restart read chain */ | |
64 | if (priv->dp_throttle_restart) { | |
65 | port->read_urb->dev = port->serial->dev; | |
66 | ret = usb_submit_urb(port->read_urb, GFP_ATOMIC); | |
67 | } | |
68 | ||
69 | + /* turn throttle off */ | |
70 | + priv->dp_throttled = 0; | |
71 | + priv->dp_throttle_restart = 0; | |
72 | + | |
73 | spin_unlock_irqrestore(&priv->dp_port_lock, flags); | |
74 | ||
75 | if (ret) | |
76 | diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c | |
77 | index 9fcc272..579796a 100644 | |
78 | --- a/drivers/usb/serial/usb-serial.c | |
79 | +++ b/drivers/usb/serial/usb-serial.c | |
80 | @@ -973,6 +973,7 @@ int usb_serial_probe(struct usb_interface *interface, | |
81 | if (retval > 0) { | |
82 | /* quietly accept this device, but don't bind to a | |
83 | serial port as it's about to disappear */ | |
84 | + serial->num_ports = 0; | |
85 | goto exit; | |
86 | } | |
87 | } |