diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-31 15:16:20 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-31 15:16:20 -0400 |
| commit | b6727b12dd2ffb4a890eb5b13a298230c29ba45d (patch) | |
| tree | bc2536b5331c917f9e2ea168ea05cb7a3dfbdb8c | |
| parent | eb2890c92fe3232345de5c8ba56e4ed4ae6422e1 (diff) | |
| parent | b881c6cbb313dc3618075e81cd618e6ef7a3d159 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
Staging: fix wireless drivers depends
Staging: wireless drivers Kconfig change
Staging: android: mark subsystem as broken
Staging: remove stlc45xx driver
Staging: rtl8187se/rtl8192e/rtl8192su: allow module unload
Staging: vt6656: fix the memory free bug in vntwusb_disconnect()
Staging: Panel: prevent driver from calling misc_deregister twice on same ressource
Staging: hv: fix oops in vmbus - missing #include
Staging: hv: fix oops in vmbus - netvsc list_head
Staging: hv: fix oops in vmbus - udev events
Staging: hv: Fix vmbus load hang caused by faulty data packing
Staging: hv: Fix null pointer error after vmbus loading
Staging: hv TODO patches
36 files changed, 75 insertions, 3462 deletions
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index 7df3ba4f1f4d..d21b3469f6d7 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig | |||
| @@ -93,8 +93,6 @@ source "drivers/staging/dst/Kconfig" | |||
| 93 | 93 | ||
| 94 | source "drivers/staging/pohmelfs/Kconfig" | 94 | source "drivers/staging/pohmelfs/Kconfig" |
| 95 | 95 | ||
| 96 | source "drivers/staging/stlc45xx/Kconfig" | ||
| 97 | |||
| 98 | source "drivers/staging/b3dfg/Kconfig" | 96 | source "drivers/staging/b3dfg/Kconfig" |
| 99 | 97 | ||
| 100 | source "drivers/staging/phison/Kconfig" | 98 | source "drivers/staging/phison/Kconfig" |
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index 747571172269..8cbf1aebea2e 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile | |||
| @@ -29,7 +29,6 @@ obj-$(CONFIG_ANDROID) += android/ | |||
| 29 | obj-$(CONFIG_ANDROID) += dream/ | 29 | obj-$(CONFIG_ANDROID) += dream/ |
| 30 | obj-$(CONFIG_DST) += dst/ | 30 | obj-$(CONFIG_DST) += dst/ |
| 31 | obj-$(CONFIG_POHMELFS) += pohmelfs/ | 31 | obj-$(CONFIG_POHMELFS) += pohmelfs/ |
| 32 | obj-$(CONFIG_STLC45XX) += stlc45xx/ | ||
| 33 | obj-$(CONFIG_B3DFG) += b3dfg/ | 32 | obj-$(CONFIG_B3DFG) += b3dfg/ |
| 34 | obj-$(CONFIG_IDE_PHISON) += phison/ | 33 | obj-$(CONFIG_IDE_PHISON) += phison/ |
| 35 | obj-$(CONFIG_PLAN9AUTH) += p9auth/ | 34 | obj-$(CONFIG_PLAN9AUTH) += p9auth/ |
diff --git a/drivers/staging/android/Kconfig b/drivers/staging/android/Kconfig index 247194992374..eb675635ae60 100644 --- a/drivers/staging/android/Kconfig +++ b/drivers/staging/android/Kconfig | |||
| @@ -2,6 +2,7 @@ menu "Android" | |||
| 2 | 2 | ||
| 3 | config ANDROID | 3 | config ANDROID |
| 4 | bool "Android Drivers" | 4 | bool "Android Drivers" |
| 5 | depends on BROKEN | ||
| 5 | default N | 6 | default N |
| 6 | ---help--- | 7 | ---help--- |
| 7 | Enable support for various drivers needed on the Android platform | 8 | Enable support for various drivers needed on the Android platform |
diff --git a/drivers/staging/hv/ChannelMgmt.h b/drivers/staging/hv/ChannelMgmt.h index a839d8fe6cec..fa973d86b624 100644 --- a/drivers/staging/hv/ChannelMgmt.h +++ b/drivers/staging/hv/ChannelMgmt.h | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | #define _CHANNEL_MGMT_H_ | 26 | #define _CHANNEL_MGMT_H_ |
| 27 | 27 | ||
| 28 | #include <linux/list.h> | 28 | #include <linux/list.h> |
| 29 | #include <linux/timer.h> | ||
| 29 | #include "RingBuffer.h" | 30 | #include "RingBuffer.h" |
| 30 | #include "VmbusChannelInterface.h" | 31 | #include "VmbusChannelInterface.h" |
| 31 | #include "VmbusPacketFormat.h" | 32 | #include "VmbusPacketFormat.h" |
| @@ -54,7 +55,7 @@ enum vmbus_channel_message_type { | |||
| 54 | ChannelMessageViewRangeRemove = 18, | 55 | ChannelMessageViewRangeRemove = 18, |
| 55 | #endif | 56 | #endif |
| 56 | ChannelMessageCount | 57 | ChannelMessageCount |
| 57 | } __attribute__((packed)); | 58 | }; |
| 58 | 59 | ||
| 59 | struct vmbus_channel_message_header { | 60 | struct vmbus_channel_message_header { |
| 60 | enum vmbus_channel_message_type MessageType; | 61 | enum vmbus_channel_message_type MessageType; |
diff --git a/drivers/staging/hv/NetVsc.c b/drivers/staging/hv/NetVsc.c index 1610b845198f..d384c0ddf069 100644 --- a/drivers/staging/hv/NetVsc.c +++ b/drivers/staging/hv/NetVsc.c | |||
| @@ -1052,7 +1052,7 @@ static void NetVscOnReceive(struct hv_device *Device, | |||
| 1052 | */ | 1052 | */ |
| 1053 | spin_lock_irqsave(&netDevice->receive_packet_list_lock, flags); | 1053 | spin_lock_irqsave(&netDevice->receive_packet_list_lock, flags); |
| 1054 | while (!list_empty(&netDevice->ReceivePacketList)) { | 1054 | while (!list_empty(&netDevice->ReceivePacketList)) { |
| 1055 | list_move_tail(&netDevice->ReceivePacketList, &listHead); | 1055 | list_move_tail(netDevice->ReceivePacketList.next, &listHead); |
| 1056 | if (++count == vmxferpagePacket->RangeCount + 1) | 1056 | if (++count == vmxferpagePacket->RangeCount + 1) |
| 1057 | break; | 1057 | break; |
| 1058 | } | 1058 | } |
| @@ -1071,7 +1071,7 @@ static void NetVscOnReceive(struct hv_device *Device, | |||
| 1071 | /* Return it to the freelist */ | 1071 | /* Return it to the freelist */ |
| 1072 | spin_lock_irqsave(&netDevice->receive_packet_list_lock, flags); | 1072 | spin_lock_irqsave(&netDevice->receive_packet_list_lock, flags); |
| 1073 | for (i = count; i != 0; i--) { | 1073 | for (i = count; i != 0; i--) { |
| 1074 | list_move_tail(&listHead, | 1074 | list_move_tail(listHead.next, |
| 1075 | &netDevice->ReceivePacketList); | 1075 | &netDevice->ReceivePacketList); |
| 1076 | } | 1076 | } |
| 1077 | spin_unlock_irqrestore(&netDevice->receive_packet_list_lock, | 1077 | spin_unlock_irqrestore(&netDevice->receive_packet_list_lock, |
| @@ -1085,8 +1085,7 @@ static void NetVscOnReceive(struct hv_device *Device, | |||
| 1085 | } | 1085 | } |
| 1086 | 1086 | ||
| 1087 | /* Remove the 1st packet to represent the xfer page packet itself */ | 1087 | /* Remove the 1st packet to represent the xfer page packet itself */ |
| 1088 | xferpagePacket = list_entry(&listHead, struct xferpage_packet, | 1088 | xferpagePacket = (struct xferpage_packet*)listHead.next; |
| 1089 | ListEntry); | ||
| 1090 | list_del(&xferpagePacket->ListEntry); | 1089 | list_del(&xferpagePacket->ListEntry); |
| 1091 | 1090 | ||
| 1092 | /* This is how much we can satisfy */ | 1091 | /* This is how much we can satisfy */ |
| @@ -1102,8 +1101,7 @@ static void NetVscOnReceive(struct hv_device *Device, | |||
| 1102 | 1101 | ||
| 1103 | /* Each range represents 1 RNDIS pkt that contains 1 ethernet frame */ | 1102 | /* Each range represents 1 RNDIS pkt that contains 1 ethernet frame */ |
| 1104 | for (i = 0; i < (count - 1); i++) { | 1103 | for (i = 0; i < (count - 1); i++) { |
| 1105 | netvscPacket = list_entry(&listHead, struct hv_netvsc_packet, | 1104 | netvscPacket = (struct hv_netvsc_packet*)listHead.next; |
| 1106 | ListEntry); | ||
| 1107 | list_del(&netvscPacket->ListEntry); | 1105 | list_del(&netvscPacket->ListEntry); |
| 1108 | 1106 | ||
| 1109 | /* Initialize the netvsc packet */ | 1107 | /* Initialize the netvsc packet */ |
diff --git a/drivers/staging/hv/TODO b/drivers/staging/hv/TODO index 4d390b237742..dbfbde937a66 100644 --- a/drivers/staging/hv/TODO +++ b/drivers/staging/hv/TODO | |||
| @@ -1,11 +1,17 @@ | |||
| 1 | TODO: | 1 | TODO: |
| 2 | - fix remaining checkpatch warnings and errors | 2 | - fix remaining checkpatch warnings and errors |
| 3 | - use of /** when it is not a kerneldoc header | ||
| 3 | - remove RingBuffer.c to us in-kernel ringbuffer functions instead. | 4 | - remove RingBuffer.c to us in-kernel ringbuffer functions instead. |
| 4 | - audit the vmbus to verify it is working properly with the | 5 | - audit the vmbus to verify it is working properly with the |
| 5 | driver model | 6 | driver model |
| 7 | - convert vmbus driver interface function pointer tables | ||
| 8 | to constant, a.k.a vmbus_ops | ||
| 6 | - see if the vmbus can be merged with the other virtual busses | 9 | - see if the vmbus can be merged with the other virtual busses |
| 7 | in the kernel | 10 | in the kernel |
| 8 | - audit the network driver | 11 | - audit the |
