[pve-devel] [PATCH] remove usb fixes and add libacard fix
Derumier Alexandre
aderumier at odiso.com
Sun Mar 11 17:37:43 CET 2012
Signed-off-by: Derumier Alexandre <aderumier at odiso.com>
---
.../libacard-fix-compilaton-with-gcc.4.7.diff | 17 +++++
debian/patches/series | 3 +-
.../usb-desc-fix-user-trigerrable-segfaults.diff | 76 --------------------
debian/patches/usb-hid-fix-tablet-activation.diff | 24 ------
4 files changed, 18 insertions(+), 102 deletions(-)
create mode 100644 debian/patches/libacard-fix-compilaton-with-gcc.4.7.diff
delete mode 100644 debian/patches/usb-desc-fix-user-trigerrable-segfaults.diff
delete mode 100644 debian/patches/usb-hid-fix-tablet-activation.diff
diff --git a/debian/patches/libacard-fix-compilaton-with-gcc.4.7.diff b/debian/patches/libacard-fix-compilaton-with-gcc.4.7.diff
new file mode 100644
index 0000000..e46a126
--- /dev/null
+++ b/debian/patches/libacard-fix-compilaton-with-gcc.4.7.diff
@@ -0,0 +1,17 @@
+http://patchwork.ozlabs.org/patch/144276/
+
+diff --git a/libcacard/vcardt.h b/libcacard/vcardt.h
+index d4d8e2e..d3e9522 100644
+--- a/libcacard/vcardt.h
++++ b/libcacard/vcardt.h
+@@ -26,8 +26,8 @@ typedef struct VCardEmulStruct VCardEmul;
+ #define MAX_CHANNEL 4
+
+ /* create an ATR with appropriate historical bytes */
+-#define VCARD_ATR_PREFIX(size) (0x3b, 0x68+(size), 0x00, 0xff, \
+- 'V', 'C', 'A', 'R', 'D', '_')
++#define VCARD_ATR_PREFIX(size) 0x3b, 0x68+(size), 0x00, 0xff, \
++ 'V', 'C', 'A', 'R', 'D', '_'
+
+
+ typedef enum {
diff --git a/debian/patches/series b/debian/patches/series
index 0bfa296..767ccfd 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,5 +5,4 @@ keymap.diff
set-max-nics.patch
pve-auth.patch
update-target-x86_64.conf-to-rhel6.2-version.patch
-usb-hid-fix-tablet-activation.diff
-usb-desc-fix-user-trigerrable-segfaults.diff
+libacard-fix-compilaton-with-gcc.4.7.diff
diff --git a/debian/patches/usb-desc-fix-user-trigerrable-segfaults.diff b/debian/patches/usb-desc-fix-user-trigerrable-segfaults.diff
deleted file mode 100644
index 37edb74..0000000
--- a/debian/patches/usb-desc-fix-user-trigerrable-segfaults.diff
+++ /dev/null
@@ -1,76 +0,0 @@
-From: Alon Levy <alevy at redhat.com>
-
-Check for dev->config being NULL in two places:
- USB_REQ_GET_CONFIGURATION and USB_REQ_GET_STATUS.
-
-The behavior of USB_REQ_GET_STATUS is unspecified in the Default state,
-that corresponds to dev->config being NULL (it defaults to NULL and is
-reset whenever a SET_CONFIGURATION with value 0, or attachment). I
-implemented it to correspond with the state before
-ed5a83ddd8c1d8ec7b1015315530cf29949e7c48, the commit moving SET_STATUS
-to usb-desc; if dev->config is not set we return whatever is in the
-first configuration.
-
-The behavior of USB_REQ_GET_CONFIGURATION is also undefined before any
-SET_CONFIGURATION, but here we just return 0 (same as specified for the
-Address state).
-
-A win7 guest failed to initialize the device before this patch,
-segfaulting when GET_STATUS was called with dev->config == NULL. With
-this patch the passthrough device still doesn't work but the failure is
-unrelated.
-
-Signed-off-by: Alon Levy <alevy at redhat.com>
-Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
----
- hw/usb-desc.c | 20 +++++++++++++++++---
- 1 files changed, 17 insertions(+), 3 deletions(-)
-
-diff --git a/hw/usb-desc.c b/hw/usb-desc.c
-index 3c3ed6a..ccf85ad 100644
---- a/hw/usb-desc.c
-+++ b/hw/usb-desc.c
-@@ -536,7 +536,11 @@ int usb_desc_handle_control(USBDevice *dev, USBPacket *p,
- break;
-
- case DeviceRequest | USB_REQ_GET_CONFIGURATION:
-- data[0] = dev->config->bConfigurationValue;
-+ /*
-+ * 9.4.2: 0 should be returned if the device is unconfigured, otherwise
-+ * the non zero value of bConfigurationValue.
-+ */
-+ data[0] = dev->config ? dev->config->bConfigurationValue : 0;
- ret = 1;
- break;
- case DeviceOutRequest | USB_REQ_SET_CONFIGURATION:
-@@ -544,9 +548,18 @@ int usb_desc_handle_control(USBDevice *dev, USBPacket *p,
- trace_usb_set_config(dev->addr, value, ret);
- break;
-
-- case DeviceRequest | USB_REQ_GET_STATUS:
-+ case DeviceRequest | USB_REQ_GET_STATUS: {
-+ const USBDescConfig *config = dev->config ?
-+ dev->config : &dev->device->confs[0];
-+
- data[0] = 0;
-- if (dev->config->bmAttributes & 0x40) {
-+ /*
-+ * Default state: Device behavior when this request is received while
-+ * the device is in the Default state is not specified.
-+ * We return the same value that a configured device would return if
-+ * it used the first configuration.
-+ */
-+ if (config->bmAttributes & 0x40) {
- data[0] |= 1 << USB_DEVICE_SELF_POWERED;
- }
- if (dev->remote_wakeup) {
-@@ -555,6 +568,7 @@ int usb_desc_handle_control(USBDevice *dev, USBPacket *p,
- data[1] = 0x00;
- ret = 2;
- break;
-+ }
- case DeviceOutRequest | USB_REQ_CLEAR_FEATURE:
- if (value == USB_DEVICE_REMOTE_WAKEUP) {
- dev->remote_wakeup = 0;
---
-1.7.1
diff --git a/debian/patches/usb-hid-fix-tablet-activation.diff b/debian/patches/usb-hid-fix-tablet-activation.diff
deleted file mode 100644
index c6ee81c..0000000
--- a/debian/patches/usb-hid-fix-tablet-activation.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-Activate usb hid pointer devices (mouse+tablet) unconditionally
-on polls, even if we NAK the poll due to lack of new events.
-
-Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
----
- hw/usb-hid.c | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/hw/usb-hid.c b/hw/usb-hid.c
-index 7fc0bd8..37bca78 100644
---- a/hw/usb-hid.c
-+++ b/hw/usb-hid.c
-@@ -466,6 +466,9 @@ static int usb_hid_handle_data(USBDevice *dev, USBPacket *p)
- case USB_TOKEN_IN:
- if (p->ep->nr == 1) {
- int64_t curtime = qemu_get_clock_ns(vm_clock);
-+ if (hs->kind == HID_MOUSE || hs->kind == HID_TABLET) {
-+ hid_pointer_activate(hs);
-+ }
- if (!hid_has_events(hs) &&
- (!hs->idle || hs->next_idle_clock - curtime > 0)) {
- return USB_RET_NAK;
---
-1.7.1
--
1.7.2.5
More information about the pve-devel
mailing list