Contents of /trunk/kernel26-alx/patches-2.6.20-r6/0118-2.6.20.18-all-fixes.patch
Parent Directory | Revision Log
Revision 1175 -
(show annotations)
(download)
Thu Oct 14 12:15:46 2010 UTC (13 years, 11 months ago) by niro
File size: 3665 byte(s)
Thu Oct 14 12:15:46 2010 UTC (13 years, 11 months ago) by niro
File size: 3665 byte(s)
-2.6.20-alx-r6 new magellan 0.5.2 kernel
1 | diff --git a/drivers/ata/pata_atiixp.c b/drivers/ata/pata_atiixp.c |
2 | index 17d75ec..b50ebb6 100644 |
3 | --- a/drivers/ata/pata_atiixp.c |
4 | +++ b/drivers/ata/pata_atiixp.c |
5 | @@ -283,7 +283,6 @@ static const struct pci_device_id atiixp[] = { |
6 | { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP300_IDE), }, |
7 | { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP400_IDE), }, |
8 | { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP600_IDE), }, |
9 | - { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP700_IDE), }, |
10 | |
11 | { }, |
12 | }; |
13 | diff --git a/include/net/bluetooth/rfcomm.h b/include/net/bluetooth/rfcomm.h |
14 | index 25aa575..3c563f0 100644 |
15 | --- a/include/net/bluetooth/rfcomm.h |
16 | +++ b/include/net/bluetooth/rfcomm.h |
17 | @@ -323,7 +323,6 @@ int rfcomm_connect_ind(struct rfcomm_session *s, u8 channel, struct rfcomm_dlc |
18 | #define RFCOMM_RELEASE_ONHUP 1 |
19 | #define RFCOMM_HANGUP_NOW 2 |
20 | #define RFCOMM_TTY_ATTACHED 3 |
21 | -#define RFCOMM_TTY_RELEASED 4 |
22 | |
23 | struct rfcomm_dev_req { |
24 | s16 dev_id; |
25 | diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c |
26 | index 26e8c02..e1b8663 100644 |
27 | --- a/net/bluetooth/rfcomm/tty.c |
28 | +++ b/net/bluetooth/rfcomm/tty.c |
29 | @@ -93,10 +93,6 @@ static void rfcomm_dev_destruct(struct rfcomm_dev *dev) |
30 | |
31 | BT_DBG("dev %p dlc %p", dev, dlc); |
32 | |
33 | - write_lock_bh(&rfcomm_dev_lock); |
34 | - list_del_init(&dev->list); |
35 | - write_unlock_bh(&rfcomm_dev_lock); |
36 | - |
37 | rfcomm_dlc_lock(dlc); |
38 | /* Detach DLC if it's owned by this dev */ |
39 | if (dlc->owner == dev) |
40 | @@ -158,13 +154,8 @@ static inline struct rfcomm_dev *rfcomm_dev_get(int id) |
41 | read_lock(&rfcomm_dev_lock); |
42 | |
43 | dev = __rfcomm_dev_get(id); |
44 | - |
45 | - if (dev) { |
46 | - if (test_bit(RFCOMM_TTY_RELEASED, &dev->flags)) |
47 | - dev = NULL; |
48 | - else |
49 | - rfcomm_dev_hold(dev); |
50 | - } |
51 | + if (dev) |
52 | + rfcomm_dev_hold(dev); |
53 | |
54 | read_unlock(&rfcomm_dev_lock); |
55 | |
56 | @@ -272,12 +263,6 @@ out: |
57 | |
58 | tty_register_device(rfcomm_tty_driver, dev->id, rfcomm_get_device(dev)); |
59 | |
60 | - if (IS_ERR(dev->tty_dev)) { |
61 | - list_del(&dev->list); |
62 | - kfree(dev); |
63 | - return PTR_ERR(dev->tty_dev); |
64 | - } |
65 | - |
66 | return dev->id; |
67 | } |
68 | |
69 | @@ -285,7 +270,10 @@ static void rfcomm_dev_del(struct rfcomm_dev *dev) |
70 | { |
71 | BT_DBG("dev %p", dev); |
72 | |
73 | - set_bit(RFCOMM_TTY_RELEASED, &dev->flags); |
74 | + write_lock_bh(&rfcomm_dev_lock); |
75 | + list_del_init(&dev->list); |
76 | + write_unlock_bh(&rfcomm_dev_lock); |
77 | + |
78 | rfcomm_dev_put(dev); |
79 | } |
80 | |
81 | @@ -339,7 +327,7 @@ static int rfcomm_create_dev(struct sock *sk, void __user *arg) |
82 | if (copy_from_user(&req, arg, sizeof(req))) |
83 | return -EFAULT; |
84 | |
85 | - BT_DBG("sk %p dev_id %d flags 0x%x", sk, req.dev_id, req.flags); |
86 | + BT_DBG("sk %p dev_id %id flags 0x%x", sk, req.dev_id, req.flags); |
87 | |
88 | if (req.flags != NOCAP_FLAGS && !capable(CAP_NET_ADMIN)) |
89 | return -EPERM; |
90 | @@ -380,7 +368,7 @@ static int rfcomm_release_dev(void __user *arg) |
91 | if (copy_from_user(&req, arg, sizeof(req))) |
92 | return -EFAULT; |
93 | |
94 | - BT_DBG("dev_id %d flags 0x%x", req.dev_id, req.flags); |
95 | + BT_DBG("dev_id %id flags 0x%x", req.dev_id, req.flags); |
96 | |
97 | if (!(dev = rfcomm_dev_get(req.dev_id))) |
98 | return -ENODEV; |
99 | @@ -429,8 +417,6 @@ static int rfcomm_get_dev_list(void __user *arg) |
100 | |
101 | list_for_each(p, &rfcomm_dev_list) { |
102 | struct rfcomm_dev *dev = list_entry(p, struct rfcomm_dev, list); |
103 | - if (test_bit(RFCOMM_TTY_RELEASED, &dev->flags)) |
104 | - continue; |
105 | (di + n)->id = dev->id; |
106 | (di + n)->flags = dev->flags; |
107 | (di + n)->state = dev->dlc->state; |
108 | diff --git a/net/core/skbuff.c b/net/core/skbuff.c |
109 | index ba94969..915ea28 100644 |
110 | --- a/net/core/skbuff.c |
111 | +++ b/net/core/skbuff.c |
112 | @@ -499,8 +499,8 @@ struct sk_buff *skb_clone(struct sk_buff *skb, gfp_t gfp_mask) |
113 | n->tc_verd = CLR_TC_MUNGED(n->tc_verd); |
114 | C(iif); |
115 | #endif |
116 | - skb_copy_secmark(n, skb); |
117 | #endif |
118 | + skb_copy_secmark(n, skb); |
119 | C(truesize); |
120 | atomic_set(&n->users, 1); |
121 | C(head); |