[packages] madwimax: fix detection for big endian systems

closes #7510.

git-svn-id: svn://svn.openwrt.org/openwrt/packages@27845 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
jogo 2011-07-31 12:46:00 +00:00
parent 111a09e797
commit be6febfbb9
2 changed files with 34 additions and 1 deletions

View File

@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=madwimax
PKG_VERSION:=0.1.1
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=madwimax-0.1.1.tar.gz
PKG_SOURCE_URL:=http://madwimax.googlecode.com/files/

View File

@ -0,0 +1,33 @@
--- a/src/wimax.c
+++ b/src/wimax.c
@@ -133,19 +133,16 @@ static struct libusb_device_handle* find_wimax_device(void)
while (!found && (dev = devs[i++]) != NULL) {
struct libusb_device_descriptor desc;
unsigned int j = 0;
- unsigned short dev_vid, dev_pid;
r = libusb_get_device_descriptor(dev, &desc);
if (r < 0) {
continue;
}
- dev_vid = libusb_le16_to_cpu(desc.idVendor);
- dev_pid = libusb_le16_to_cpu(desc.idProduct);
- wmlog_msg(1, "Bus %03d Device %03d: ID %04x:%04x", libusb_get_bus_number(dev), libusb_get_device_address(dev), dev_vid, dev_pid);
+ wmlog_msg(1, "Bus %03d Device %03d: ID %04x:%04x", libusb_get_bus_number(dev), libusb_get_device_address(dev), desc.idVendor, desc.idProduct);
switch (match_method) {
case MATCH_BY_LIST: {
for (j = 0; j < sizeof(wimax_dev_ids) / sizeof(usb_device_id_t); j++) {
- if (dev_vid == wimax_dev_ids[j].vendorID && dev_pid == wimax_dev_ids[j].productID) {
+ if (desc.idVendor == wimax_dev_ids[j].vendorID && desc.idProduct == wimax_dev_ids[j].productID) {
found = dev;
break;
}
@@ -153,7 +150,7 @@ static struct libusb_device_handle* find_wimax_device(void)
break;
}
case MATCH_BY_VID_PID: {
- if (dev_vid == match_params.vid && dev_pid == match_params.pid) {
+ if (desc.idVendor == match_params.vid && desc.idProduct == match_params.pid) {
found = dev;
}
break;