Commit abad21a8 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'staging-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging driver bugfixes from Greg Kroah-Hartman:
 "Here are some bugfixes for the drivers/staging tree for 3.8-rc4.

  Nothing major, just a number of small fixes for problems that people
  have reported, including finally tracking down the root of the 64/32
  bit problem with the vt6656 that has been driving people crazy for a
  while"

* tag 'staging-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  staging/sb105x: PARPORT config is not good enough must use PARPORT_PC
  staging: wlan-ng: Fix clamping of returned SSID length
  staging: vt6656: Fix inconsistent structure packing
  staging:iio:adis16080: Perform sign extension
  iio: mxs-lradc: indexes are unsigned
parents 0d060d28 7dfc8331
...@@ -239,7 +239,7 @@ static irqreturn_t mxs_lradc_trigger_handler(int irq, void *p) ...@@ -239,7 +239,7 @@ static irqreturn_t mxs_lradc_trigger_handler(int irq, void *p)
struct mxs_lradc *lradc = iio_priv(iio); struct mxs_lradc *lradc = iio_priv(iio);
const uint32_t chan_value = LRADC_CH_ACCUMULATE | const uint32_t chan_value = LRADC_CH_ACCUMULATE |
((LRADC_DELAY_TIMER_LOOP - 1) << LRADC_CH_NUM_SAMPLES_OFFSET); ((LRADC_DELAY_TIMER_LOOP - 1) << LRADC_CH_NUM_SAMPLES_OFFSET);
int i, j = 0; unsigned int i, j = 0;
for_each_set_bit(i, iio->active_scan_mask, iio->masklength) { for_each_set_bit(i, iio->active_scan_mask, iio->masklength) {
lradc->buffer[j] = readl(lradc->base + LRADC_CH(j)); lradc->buffer[j] = readl(lradc->base + LRADC_CH(j));
......
...@@ -69,7 +69,7 @@ static int adis16080_spi_read(struct iio_dev *indio_dev, ...@@ -69,7 +69,7 @@ static int adis16080_spi_read(struct iio_dev *indio_dev,
ret = spi_read(st->us, st->buf, 2); ret = spi_read(st->us, st->buf, 2);
if (ret == 0) if (ret == 0)
*val = ((st->buf[0] & 0xF) << 8) | st->buf[1]; *val = sign_extend32(((st->buf[0] & 0xF) << 8) | st->buf[1], 11);
mutex_unlock(&st->buf_lock); mutex_unlock(&st->buf_lock);
return ret; return ret;
......
...@@ -3054,7 +3054,7 @@ static int init_mp_dev(struct pci_dev *pcidev, mppcibrd_t brd) ...@@ -3054,7 +3054,7 @@ static int init_mp_dev(struct pci_dev *pcidev, mppcibrd_t brd)
sbdev->nr_ports = ((portnum_hex/16)*10) + (portnum_hex % 16); sbdev->nr_ports = ((portnum_hex/16)*10) + (portnum_hex % 16);
} }
break; break;
#ifdef CONFIG_PARPORT #ifdef CONFIG_PARPORT_PC
case PCI_DEVICE_ID_MP2S1P : case PCI_DEVICE_ID_MP2S1P :
sbdev->nr_ports = 2; sbdev->nr_ports = 2;
......
...@@ -90,7 +90,6 @@ typedef struct tagSRSNCapObject { ...@@ -90,7 +90,6 @@ typedef struct tagSRSNCapObject {
} SRSNCapObject, *PSRSNCapObject; } SRSNCapObject, *PSRSNCapObject;
// BSS info(AP) // BSS info(AP)
#pragma pack(1)
typedef struct tagKnownBSS { typedef struct tagKnownBSS {
// BSS info // BSS info
BOOL bActive; BOOL bActive;
......
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
#include "device.h" #include "device.h"
/*--------------------- Export Definitions -------------------------*/ /*--------------------- Export Definitions -------------------------*/
#pragma pack(1)
typedef struct tagSINTData { typedef struct tagSINTData {
BYTE byTSR0; BYTE byTSR0;
BYTE byPkt0; BYTE byPkt0;
......
...@@ -95,13 +95,12 @@ typedef enum tagWZONETYPE { ...@@ -95,13 +95,12 @@ typedef enum tagWZONETYPE {
// Ioctl interface structure // Ioctl interface structure
// Command structure // Command structure
// //
#pragma pack(1)
typedef struct tagSCmdRequest { typedef struct tagSCmdRequest {
u8 name[16]; u8 name[16];
void *data; void *data;
u16 wResult; u16 wResult;
u16 wCmdCode; u16 wCmdCode;
} SCmdRequest, *PSCmdRequest; } __packed SCmdRequest, *PSCmdRequest;
// //
// Scan // Scan
...@@ -111,7 +110,7 @@ typedef struct tagSCmdScan { ...@@ -111,7 +110,7 @@ typedef struct tagSCmdScan {
u8 ssid[SSID_MAXLEN + 2]; u8 ssid[SSID_MAXLEN + 2];
} SCmdScan, *PSCmdScan; } __packed SCmdScan, *PSCmdScan;
// //
// BSS Join // BSS Join
...@@ -126,7 +125,7 @@ typedef struct tagSCmdBSSJoin { ...@@ -126,7 +125,7 @@ typedef struct tagSCmdBSSJoin {
BOOL bPSEnable; BOOL bPSEnable;
BOOL bShareKeyAuth; BOOL bShareKeyAuth;
} SCmdBSSJoin, *PSCmdBSSJoin; } __packed SCmdBSSJoin, *PSCmdBSSJoin;
// //
// Zonetype Setting // Zonetype Setting
...@@ -137,7 +136,7 @@ typedef struct tagSCmdZoneTypeSet { ...@@ -137,7 +136,7 @@ typedef struct tagSCmdZoneTypeSet {
BOOL bWrite; BOOL bWrite;
WZONETYPE ZoneType; WZONETYPE ZoneType;
} SCmdZoneTypeSet, *PSCmdZoneTypeSet; } __packed SCmdZoneTypeSet, *PSCmdZoneTypeSet;
typedef struct tagSWPAResult { typedef struct tagSWPAResult {
char ifname[100]; char ifname[100];
...@@ -145,7 +144,7 @@ typedef struct tagSWPAResult { ...@@ -145,7 +144,7 @@ typedef struct tagSWPAResult {
u8 key_mgmt; u8 key_mgmt;
u8 eap_type; u8 eap_type;
BOOL authenticated; BOOL authenticated;
} SWPAResult, *PSWPAResult; } __packed SWPAResult, *PSWPAResult;
typedef struct tagSCmdStartAP { typedef struct tagSCmdStartAP {
...@@ -157,7 +156,7 @@ typedef struct tagSCmdStartAP { ...@@ -157,7 +156,7 @@ typedef struct tagSCmdStartAP {
BOOL bShareKeyAuth; BOOL bShareKeyAuth;
u8 byBasicRate; u8 byBasicRate;
} SCmdStartAP, *PSCmdStartAP; } __packed SCmdStartAP, *PSCmdStartAP;
typedef struct tagSCmdSetWEP { typedef struct tagSCmdSetWEP {
...@@ -167,7 +166,7 @@ typedef struct tagSCmdSetWEP { ...@@ -167,7 +166,7 @@ typedef struct tagSCmdSetWEP {
BOOL bWepKeyAvailable[WEP_NKEYS]; BOOL bWepKeyAvailable[WEP_NKEYS];
u32 auWepKeyLength[WEP_NKEYS]; u32 auWepKeyLength[WEP_NKEYS];
} SCmdSetWEP, *PSCmdSetWEP; } __packed SCmdSetWEP, *PSCmdSetWEP;
typedef struct tagSBSSIDItem { typedef struct tagSBSSIDItem {
...@@ -180,14 +179,14 @@ typedef struct tagSBSSIDItem { ...@@ -180,14 +179,14 @@ typedef struct tagSBSSIDItem {
BOOL bWEPOn; BOOL bWEPOn;
u32 uRSSI; u32 uRSSI;
} SBSSIDItem; } __packed SBSSIDItem;
typedef struct tagSBSSIDList { typedef struct tagSBSSIDList {
u32 uItem; u32 uItem;
SBSSIDItem sBSSIDList[0]; SBSSIDItem sBSSIDList[0];
} SBSSIDList, *PSBSSIDList; } __packed SBSSIDList, *PSBSSIDList;
typedef struct tagSNodeItem { typedef struct tagSNodeItem {
...@@ -208,7 +207,7 @@ typedef struct tagSNodeItem { ...@@ -208,7 +207,7 @@ typedef struct tagSNodeItem {
u32 uTxAttempts; u32 uTxAttempts;
u16 wFailureRatio; u16 wFailureRatio;
} SNodeItem; } __packed SNodeItem;
typedef struct tagSNodeList { typedef struct tagSNodeList {
...@@ -216,7 +215,7 @@ typedef struct tagSNodeList { ...@@ -216,7 +215,7 @@ typedef struct tagSNodeList {
u32 uItem; u32 uItem;
SNodeItem sNodeList[0]; SNodeItem sNodeList[0];
} SNodeList, *PSNodeList; } __packed SNodeList, *PSNodeList;
typedef struct tagSCmdLinkStatus { typedef struct tagSCmdLinkStatus {
...@@ -229,7 +228,7 @@ typedef struct tagSCmdLinkStatus { ...@@ -229,7 +228,7 @@ typedef struct tagSCmdLinkStatus {
u32 uChannel; u32 uChannel;
u32 uLinkRate; u32 uLinkRate;
} SCmdLinkStatus, *PSCmdLinkStatus; } __packed SCmdLinkStatus, *PSCmdLinkStatus;
// //
// 802.11 counter // 802.11 counter
...@@ -247,7 +246,7 @@ typedef struct tagSDot11MIBCount { ...@@ -247,7 +246,7 @@ typedef struct tagSDot11MIBCount {
u32 ReceivedFragmentCount; u32 ReceivedFragmentCount;
u32 MulticastReceivedFrameCount; u32 MulticastReceivedFrameCount;
u32 FCSErrorCount; u32 FCSErrorCount;
} SDot11MIBCount, *PSDot11MIBCount; } __packed SDot11MIBCount, *PSDot11MIBCount;
...@@ -355,13 +354,13 @@ typedef struct tagSStatMIBCount { ...@@ -355,13 +354,13 @@ typedef struct tagSStatMIBCount {
u32 ullTxBroadcastBytes[2]; u32 ullTxBroadcastBytes[2];
u32 ullTxMulticastBytes[2]; u32 ullTxMulticastBytes[2];
u32 ullTxDirectedBytes[2]; u32 ullTxDirectedBytes[2];
} SStatMIBCount, *PSStatMIBCount; } __packed SStatMIBCount, *PSStatMIBCount;
typedef struct tagSCmdValue { typedef struct tagSCmdValue {
u32 dwValue; u32 dwValue;
} SCmdValue, *PSCmdValue; } __packed SCmdValue, *PSCmdValue;
// //
// hostapd & viawget ioctl related // hostapd & viawget ioctl related
...@@ -431,7 +430,7 @@ struct viawget_hostapd_param { ...@@ -431,7 +430,7 @@ struct viawget_hostapd_param {
u8 ssid[32]; u8 ssid[32];
} scan_req; } scan_req;
} u; } u;
}; } __packed;
/*--------------------- Export Classes ----------------------------*/ /*--------------------- Export Classes ----------------------------*/
......
...@@ -67,12 +67,11 @@ enum { ...@@ -67,12 +67,11 @@ enum {
#pragma pack(1)
typedef struct viawget_wpa_header { typedef struct viawget_wpa_header {
u8 type; u8 type;
u16 req_ie_len; u16 req_ie_len;
u16 resp_ie_len; u16 resp_ie_len;
} viawget_wpa_header; } __packed viawget_wpa_header;
struct viawget_wpa_param { struct viawget_wpa_param {
u32 cmd; u32 cmd;
...@@ -113,9 +112,8 @@ struct viawget_wpa_param { ...@@ -113,9 +112,8 @@ struct viawget_wpa_param {
u8 *buf; u8 *buf;
} scan_results; } scan_results;
} u; } u;
}; } __packed;
#pragma pack(1)
struct viawget_scan_result { struct viawget_scan_result {
u8 bssid[6]; u8 bssid[6];
u8 ssid[32]; u8 ssid[32];
...@@ -130,7 +128,7 @@ struct viawget_scan_result { ...@@ -130,7 +128,7 @@ struct viawget_scan_result {
int noise; int noise;
int level; int level;
int maxrate; int maxrate;
}; } __packed;
/*--------------------- Export Classes ----------------------------*/ /*--------------------- Export Classes ----------------------------*/
......
...@@ -406,7 +406,7 @@ int prism2mgmt_scan_results(wlandevice_t *wlandev, void *msgp) ...@@ -406,7 +406,7 @@ int prism2mgmt_scan_results(wlandevice_t *wlandev, void *msgp)
/* SSID */ /* SSID */
req->ssid.status = P80211ENUM_msgitem_status_data_ok; req->ssid.status = P80211ENUM_msgitem_status_data_ok;
req->ssid.data.len = le16_to_cpu(item->ssid.len); req->ssid.data.len = le16_to_cpu(item->ssid.len);
req->ssid.data.len = min_t(u16, req->ssid.data.len, WLAN_BSSID_LEN); req->ssid.data.len = min_t(u16, req->ssid.data.len, WLAN_SSID_MAXLEN);
memcpy(req->ssid.data.data, item->ssid.data, req->ssid.data.len); memcpy(req->ssid.data.data, item->ssid.data, req->ssid.data.len);
/* supported rates */ /* supported rates */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment