Magellan Linux

Contents of /trunk/kernel26-alx/patches-2.6.20-r6/0118-2.6.20.18-all-fixes.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1175 - (show annotations) (download)
Thu Oct 14 12:15:46 2010 UTC (13 years, 7 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);