diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-02-10 15:19:23 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-02-10 15:19:23 -0500 |
| commit | b477958314796f51c54829dbaea89b1f46dabd06 (patch) | |
| tree | f122521b0ac17e1de695a3be84da50759645da6a | |
| parent | e128c5e26bd474a2a56b96ec7c8967aff347b763 (diff) | |
| parent | 5414e557fca545614ceedc3d3496f747457e2e3b (diff) | |
Merge branch 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
* 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
staging: zram: fix data corruption issue
Staging: Comedi: Fix a few NI module dependencies
Staging: comedi: Add MODULE_LICENSE and similar to NI modules
staging: brcm80211: bugfix for softmac crash on multi cpu configurations
staging: sst: Fix for dmic capture on v2 pmic
staging: hv: Enable sending GARP packet after live migration
| -rw-r--r-- | drivers/staging/brcm80211/sys/wl_mac80211.c | 12 | ||||
| -rw-r--r-- | drivers/staging/brcm80211/sys/wlc_mac80211.c | 13 | ||||
| -rw-r--r-- | drivers/staging/brcm80211/sys/wlc_pub.h | 2 | ||||
| -rw-r--r-- | drivers/staging/comedi/Kconfig | 5 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/mite.c | 2 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/ni_6527.c | 4 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/ni_65xx.c | 4 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/ni_660x.c | 4 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/ni_670x.c | 4 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/ni_pcidio.c | 4 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/ni_pcimio.c | 4 | ||||
| -rw-r--r-- | drivers/staging/hv/netvsc_drv.c | 1 | ||||
| -rw-r--r-- | drivers/staging/intel_sst/intelmid_v2_control.c | 5 | ||||
| -rw-r--r-- | drivers/staging/zram/zram_drv.c | 4 |
14 files changed, 62 insertions, 6 deletions
diff --git a/drivers/staging/brcm80211/sys/wl_mac80211.c b/drivers/staging/brcm80211/sys/wl_mac80211.c index f1235884cc5d..cd8392badff0 100644 --- a/drivers/staging/brcm80211/sys/wl_mac80211.c +++ b/drivers/staging/brcm80211/sys/wl_mac80211.c | |||
| @@ -263,9 +263,7 @@ ieee_set_channel(struct ieee80211_hw *hw, struct ieee80211_channel *chan, | |||
| 263 | switch (type) { | 263 | switch (type) { |
| 264 | case NL80211_CHAN_HT20: | 264 | case NL80211_CHAN_HT20: |
| 265 | case NL80211_CHAN_NO_HT: | 265 | case NL80211_CHAN_NO_HT: |
| 266 | WL_LOCK(wl); | ||
| 267 | err = wlc_set(wl->wlc, WLC_SET_CHANNEL, chan->hw_value); | 266 | err = wlc_set(wl->wlc, WLC_SET_CHANNEL, chan->hw_value); |
| 268 | WL_UNLOCK(wl); | ||
| 269 | break; | 267 | break; |
| 270 | case NL80211_CHAN_HT40MINUS: | 268 | case NL80211_CHAN_HT40MINUS: |
| 271 | case NL80211_CHAN_HT40PLUS: | 269 | case NL80211_CHAN_HT40PLUS: |
| @@ -285,6 +283,7 @@ static int wl_ops_config(struct ieee80211_hw *hw, u32 changed) | |||
| 285 | int err = 0; | 283 | int err = 0; |
| 286 | int new_int; | 284 | int new_int; |
| 287 | 285 | ||
| 286 | WL_LOCK(wl); | ||
| 288 | if (changed & IEEE80211_CONF_CHANGE_LISTEN_INTERVAL) { | 287 | if (changed & IEEE80211_CONF_CHANGE_LISTEN_INTERVAL) { |
| 289 | WL_NONE("%s: Setting listen interval to %d\n", | 288 | WL_NONE("%s: Setting listen interval to %d\n", |
| 290 | __func__, conf->listen_interval); | 289 | __func__, conf->listen_interval); |
| @@ -341,6 +340,7 @@ static int wl_ops_config(struct ieee80211_hw *hw, u32 changed) | |||
| 341 | } | 340 | } |
| 342 | 341 | ||
| 343 | config_out: | 342 | config_out: |
| 343 | WL_UNLOCK(wl); | ||
| 344 | return err; | 344 | return err; |
| 345 | } | 345 | } |
| 346 | 346 | ||
| @@ -459,13 +459,21 @@ wl_ops_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta, bool set) | |||
| 459 | 459 | ||
| 460 | static void wl_ops_sw_scan_start(struct ieee80211_hw *hw) | 460 | static void wl_ops_sw_scan_start(struct ieee80211_hw *hw) |
| 461 | { | 461 | { |
| 462 | struct wl_info *wl = hw->priv; | ||
| 462 | WL_NONE("Scan Start\n"); | 463 | WL_NONE("Scan Start\n"); |
| 464 | WL_LOCK(wl); | ||
| 465 | wlc_scan_start(wl->wlc); | ||
| 466 | WL_UNLOCK(wl); | ||
| 463 | return; | 467 | return; |
| 464 | } | 468 | } |
| 465 | 469 | ||
| 466 | static void wl_ops_sw_scan_complete(struct ieee80211_hw *hw) | 470 | static void wl_ops_sw_scan_complete(struct ieee80211_hw *hw) |
| 467 | { | 471 | { |
| 472 | struct wl_info *wl = hw->priv; | ||
| 468 | WL_NONE("Scan Complete\n"); | 473 | WL_NONE("Scan Complete\n"); |
| 474 | WL_LOCK(wl); | ||
| 475 | wlc_scan_stop(wl->wlc); | ||
| 476 | WL_UNLOCK(wl); | ||
| 469 | return; | 477 | return; |
| 470 | } | 478 | } |
| 471 | 479 | ||
diff --git a/drivers/staging/brcm80211/sys/wlc_mac80211.c b/drivers/staging/brcm80211/sys/wlc_mac80211.c index a1303863686c..e37e8058e2b8 100644 --- a/drivers/staging/brcm80211/sys/wlc_mac80211.c +++ b/drivers/staging/brcm80211/sys/wlc_mac80211.c | |||
| @@ -8461,3 +8461,16 @@ static void wlc_txq_free(struct wlc_info *wlc, struct osl_info *osh, | |||
| 8461 | 8461 | ||
| 8462 | kfree(qi); | 8462 | kfree(qi); |
| 8463 | } | 8463 | } |
| 8464 | |||
| 8465 | /* | ||
| 8466 | * Flag 'scan in progress' to withold dynamic phy calibration | ||
| 8467 | */ | ||
| 8468 | void wlc_scan_start(struct wlc_info *wlc) | ||
| 8469 | { | ||
| 8470 | wlc_phy_hold_upd(wlc->band->pi, PHY_HOLD_FOR_SCAN, true); | ||
| 8471 | } | ||
| 8472 | |||
| 8473 | void wlc_scan_stop(struct wlc_info *wlc) | ||
| 8474 | { | ||
| 8475 | wlc_phy_hold_upd(wlc->band->pi, PHY_HOLD_FOR_SCAN, false); | ||
| 8476 | } | ||
diff --git a/drivers/staging/brcm80211/sys/wlc_pub.h b/drivers/staging/brcm80211/sys/wlc_pub.h index 146a6904a39b..aff413001b70 100644 --- a/drivers/staging/brcm80211/sys/wlc_pub.h +++ b/drivers/staging/brcm80211/sys/wlc_pub.h | |||
| @@ -570,6 +570,8 @@ extern void wlc_enable_mac(struct wlc_info *wlc); | |||
| 570 | extern u16 wlc_rate_shm_offset(struct wlc_info *wlc, u8 rate); | 570 | extern u16 wlc_rate_shm_offset(struct wlc_info *wlc, u8 rate); |
| 571 | extern u32 wlc_get_rspec_history(struct wlc_bsscfg *cfg); | 571 | extern u32 wlc_get_rspec_history(struct wlc_bsscfg *cfg); |
| 572 | extern u32 wlc_get_current_highest_rate(struct wlc_bsscfg *cfg); | 572 | extern u32 wlc_get_current_highest_rate(struct wlc_bsscfg *cfg); |
| 573 | extern void wlc_scan_start(struct wlc_info *wlc); | ||
| 574 | extern void wlc_scan_stop(struct wlc_info *wlc); | ||
| 573 | 575 | ||
| 574 | static inline int wlc_iovar_getuint(struct wlc_info *wlc, const char *name, | 576 | static inline int wlc_iovar_getuint(struct wlc_info *wlc, const char *name, |
| 575 | uint *arg) | 577 | uint *arg) |
diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig index aad47326d6dc..1502d80f6f78 100644 --- a/drivers/staging/comedi/Kconfig +++ b/drivers/staging/comedi/Kconfig | |||
| @@ -439,6 +439,7 @@ config COMEDI_NI_AT_AO | |||
| 439 | config COMEDI_NI_ATMIO | 439 | config COMEDI_NI_ATMIO |
| 440 | tristate "NI AT-MIO E series ISA-PNP card support" | 440 | tristate "NI AT-MIO E series ISA-PNP card support" |
| 441 | depends on ISAPNP && COMEDI_NI_TIO && COMEDI_NI_COMMON | 441 | depends on ISAPNP && COMEDI_NI_TIO && COMEDI_NI_COMMON |
| 442 | select COMEDI_8255 | ||
| 442 | default N | 443 | default N |
| 443 | ---help--- | 444 | ---help--- |
| 444 | Enable support for National Instruments AT-MIO E series cards | 445 | Enable support for National Instruments AT-MIO E series cards |
| @@ -1040,6 +1041,8 @@ config COMEDI_NI_PCIDIO | |||
| 1040 | config COMEDI_NI_PCIMIO | 1041 | config COMEDI_NI_PCIMIO |
| 1041 | tristate "NI PCI-MIO-E series and M series support" | 1042 | tristate "NI PCI-MIO-E series and M series support" |
| 1042 | depends on COMEDI_NI_TIO && COMEDI_NI_COMMON | 1043 | depends on COMEDI_NI_TIO && COMEDI_NI_COMMON |
| 1044 | select COMEDI_8255 | ||
| 1045 | select COMEDI_FC | ||
| 1043 | default N | 1046 | default N |
| 1044 | ---help--- | 1047 | ---help--- |
| 1045 | Enable support for National Instruments PCI-MIO-E series and M series | 1048 | Enable support for National Instruments PCI-MIO-E series and M series |
| @@ -1164,6 +1167,7 @@ config COMEDI_NI_LABPC_CS | |||
| 1164 | config COMEDI_NI_MIO_CS | 1167 | config COMEDI_NI_MIO_CS |
| 1165 | tristate "NI DAQCard E series PCMCIA support" | 1168 | tristate "NI DAQCard E series PCMCIA support" |
| 1166 | depends on COMEDI_NI_TIO && COMEDI_NI_COMMON | 1169 | depends on COMEDI_NI_TIO && COMEDI_NI_COMMON |
| 1170 | select COMEDI_8255 | ||
| 1167 | select COMEDI_FC | 1171 | select COMEDI_FC |
| 1168 | default N | 1172 | default N |
| 1169 | ---help--- | 1173 | ---help--- |
| @@ -1268,7 +1272,6 @@ config COMEDI_MITE | |||
| 1268 | config COMEDI_NI_TIO | 1272 | config COMEDI_NI_TIO |
| 1269 | tristate "NI general purpose counter support" | 1273 | tristate "NI general purpose counter support" |
| 1270 | depends on COMEDI_MITE | 1274 | depends on COMEDI_MITE |
| 1271 | select COMEDI_8255 | ||
| 1272 | default N | 1275 | default N |
| 1273 | ---help--- | 1276 | ---help--- |
| 1274 | Enable support for National Instruments general purpose counters. | 1277 | Enable support for National Instruments general purpose counters. |
diff --git a/drivers/staging/comedi/drivers/mite.c b/drivers/staging/comedi/drivers/mite.c index cd25b241cc1f..fd274e9c7b78 100644 --- a/drivers/staging/comedi/drivers/mite.c +++ b/drivers/staging/comedi/drivers/mite.c | |||
| @@ -61,8 +61,6 @@ | |||
| 61 | #define PCI_DAQ_SIZE 4096 | 61 | #define PCI_DAQ_SIZE 4096 |
| 62 | #define PCI_DAQ_SIZE_660X 8192 | 62 | #define PCI_DAQ_SIZE_660X 8192 |
| 63 | 63 | ||
| 64 | MODULE_LICENSE("GPL"); | ||
| 65 | |||
| 66 | struct mite_struct *mite_devices; | 64 | struct mite_struct *mite_devices; |
| 67 | EXPORT_SYMBOL(mite_devices); | 65 | EXPORT_SYMBOL(mite_devices); |
| 68 | 66 | ||
diff --git a/drivers/staging/comedi/drivers/ni_6527.c b/drivers/staging/comedi/drivers/ni_6527.c index 14e716e99a5c..54741c9e1af5 100644 --- a/drivers/staging/comedi/drivers/ni_6527.c +++ b/drivers/staging/comedi/drivers/ni_6527.c | |||
| @@ -527,3 +527,7 @@ static void __exit driver_ni6527_cleanup_module(void) | |||
| 527 | 527 | ||
| 528 | module_init(driver_ni6527_init_module); | 528 | module_init(driver_ni6527_init_module); |
| 529 | module_exit(driver_ni6527_cleanup_module); | 529 | module_exit(driver_ni6527_cleanup_module); |
| 530 | |||
| 531 | MODULE_AUTHOR("Comedi http://www.comedi.org"); | ||
| 532 | MODULE_DESCRIPTION("Comedi low-level driver"); | ||
| 533 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/staging/comedi/drivers/ni_65xx.c b/drivers/staging/comedi/drivers/ni_65xx.c index 8b8e2aaf77fb..403fc0997d37 100644 --- a/drivers/staging/comedi/drivers/ni_65xx.c +++ b/drivers/staging/comedi/drivers/ni_65xx.c | |||
| @@ -871,3 +871,7 @@ static void __exit driver_ni_65xx_cleanup_module(void) | |||
| 871 | 871 | ||
| 872 | module_init(driver_ni_65xx_init_module); | 872 | module_init(driver_ni_65xx_init_module); |
| 873 | module_exit(driver_ni_65xx_cleanup_module); | 873 | module_exit(driver_ni_65xx_cleanup_module); |
| 874 | |||
| 875 | MODULE_AUTHOR("Comedi http://www.comedi.org"); | ||
| 876 | MODULE_DESCRIPTION("Comedi low-level driver"); | ||
| 877 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/staging/comedi/drivers/ni_660x.c b/drivers/staging/comedi/drivers/ni_660x.c index 6612b085c4ef..ca2aeaa9449c 100644 --- a/drivers/staging/comedi/drivers/ni_660x.c +++ b/drivers/staging/comedi/drivers/ni_660x.c | |||
| @@ -1421,3 +1421,7 @@ static int ni_660x_dio_insn_config(struct comedi_device *dev, | |||
| 1421 | }; | 1421 | }; |
| 1422 | return 0; | 1422 | return 0; |
| 1423 | } | 1423 | } |
| 1424 | |||
| 1425 | MODULE_AUTHOR("Comedi http://www.comedi.org"); | ||
| 1426 | MODULE_DESCRIPTION("Comedi low-level driver"); | ||
| 1427 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/staging/comedi/drivers/ni_670x.c b/drivers/staging/comedi/drivers/ni_670x.c index e9f034efdc6f..d8d91f90060e 100644 --- a/drivers/staging/comedi/drivers/ni_670x.c +++ b/drivers/staging/comedi/drivers/ni_670x.c | |||
| @@ -384,3 +384,7 @@ static int ni_670x_find_device(struct comedi_device *dev, int bus, int slot) | |||
| 384 | mite_list_devices(); | 384 | mite_list_devices(); |
| 385 | return -EIO; | 385 | return -EIO; |
| 386 | } | 386 | } |
| 387 | |||
| 388 | MODULE_AUTHOR("Comedi http://www.comedi.org"); | ||
| 389 | MODULE_DESCRIPTION("Comedi low-level driver"); | ||
| 390 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/staging/comedi/drivers/ni_pcidio.c b/drivers/staging/comedi/drivers/ni_pcidio.c index 84a15c34e484..005d2fe86ee4 100644 --- a/drivers/staging/comedi/drivers/ni_pcidio.c +++ b/drivers/staging/comedi/drivers/ni_pcidio.c | |||
| @@ -1354,3 +1354,7 @@ static void __exit driver_pcidio_cleanup_module(void) | |||
| 1354 | 1354 | ||
| 1355 | module_init(driver_pcidio_init_module); | 1355 | module_init(driver_pcidio_init_module); |
| 1356 | module_exit(driver_pcidio_cleanup_module); | 1356 | module_exit(driver_pcidio_cleanup_module); |
| 1357 | |||
| 1358 | MODULE_AUTHOR("Comedi http://www.comedi.org"); | ||
| 1359 | MODULE_DESCRIPTION("Comedi low-level driver"); | ||
| 1360 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/staging/comedi/drivers/ni_pcimio.c b/drivers/staging/comedi/drivers/ni_pcimio.c index 23a381247285..9148abdad074 100644 --- a/drivers/staging/comedi/drivers/ni_pcimio.c +++ b/drivers/staging/comedi/drivers/ni_pcimio.c | |||
| @@ -1853,3 +1853,7 @@ static int pcimio_dio_change(struct comedi_device *dev, | |||
| 1853 | 1853 | ||
| 1854 | return 0; | 1854 | return 0; |
| 1855 | } | 1855 | } |
| 1856 | |||
| 1857 | MODULE_AUTHOR("Comedi http://www.comedi.org"); | ||
| 1858 | MODULE_DESCRIPTION("Comedi low-level driver"); | ||
| 1859 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c index 54706a16dc0a..b41c9640b72d 100644 --- a/drivers/staging/hv/netvsc_drv.c +++ b/drivers/staging/hv/netvsc_drv.c | |||
| @@ -236,6 +236,7 @@ static void netvsc_linkstatus_callback(struct hv_device *device_obj, | |||
| 236 | if (status == 1) { | 236 | if (status == 1) { |
| 237 | netif_carrier_on(net); | 237 | netif_carrier_on(net); |
| 238 | netif_wake_queue(net); | 238 | netif_wake_queue(net); |
| 239 | netif_notify_peers(net); | ||
| 239 | } else { | 240 | } else { |
| 240 | netif_carrier_off(net); | 241 | netif_carrier_off(net); |
| 241 | netif_stop_queue(net); | 242 | netif_stop_queue(net); |
diff --git a/drivers/staging/intel_sst/intelmid_v2_control.c b/drivers/staging/intel_sst/intelmid_v2_control.c index e38e89df6e84..e2f6d6a3c850 100644 --- a/drivers/staging/intel_sst/intelmid_v2_control.c +++ b/drivers/staging/intel_sst/intelmid_v2_control.c | |||
| @@ -874,7 +874,10 @@ static int nc_set_selected_input_dev(u8 value) | |||
| 874 | sc_access[3].reg_addr = 0x109; | 874 | sc_access[3].reg_addr = 0x109; |
| 875 | sc_access[3].mask = MASK6; | 875 | sc_access[3].mask = MASK6; |
| 876 | sc_access[3].value = 0x00; | 876 | sc_access[3].value = 0x00; |
| 877 | num_val = 4; | 877 | sc_access[4].reg_addr = 0x104; |
| 878 | sc_access[4].value = 0x3C; | ||
| 879 | sc_access[4].mask = 0xff; | ||
| 880 | num_val = 5; | ||
| 878 | break; | 881 | break; |
| 879 | default: | 882 | default: |
| 880 | return -EINVAL; | 883 | return -EINVAL; |
diff --git a/drivers/staging/zram/zram_drv.c b/drivers/staging/zram/zram_drv.c index 5415712f01f8..4bd8cbdaee76 100644 --- a/drivers/staging/zram/zram_drv.c +++ b/drivers/staging/zram/zram_drv.c | |||
| @@ -227,6 +227,7 @@ static int zram_read(struct zram *zram, struct bio *bio) | |||
| 227 | 227 | ||
| 228 | if (zram_test_flag(zram, index, ZRAM_ZERO)) { | 228 | if (zram_test_flag(zram, index, ZRAM_ZERO)) { |
| 229 | handle_zero_page(page); | 229 | handle_zero_page(page); |
| 230 | index++; | ||
| 230 | continue; | 231 | continue; |
| 231 | } | 232 | } |
| 232 | 233 | ||
| @@ -235,12 +236,14 @@ static int zram_read(struct zram *zram, struct bio *bio) | |||
| 235 | pr_debug("Read before write: sector=%lu, size=%u", | 236 | pr_debug("Read before write: sector=%lu, size=%u", |
| 236 | (ulong)(bio->bi_sector), bio->bi_size); | 237 | (ulong)(bio->bi_sector), bio->bi_size); |
| 237 | /* Do nothing */ | 238 | /* Do nothing */ |
| 239 | index++; | ||
| 238 | continue; | 240 | continue; |
| 239 | } | 241 | } |
| 240 | 242 | ||
| 241 | /* Page is stored uncompressed since it's incompressible */ | 243 | /* Page is stored uncompressed since it's incompressible */ |
| 242 | if (unlikely(zram_test_flag(zram, index, ZRAM_UNCOMPRESSED))) { | 244 | if (unlikely(zram_test_flag(zram, index, ZRAM_UNCOMPRESSED))) { |
| 243 | handle_uncompressed_page(zram, page, index); | 245 | handle_uncompressed_page(zram, page, index); |
| 246 | index++; | ||
| 244 | continue; | 247 | continue; |
| 245 | } | 248 | } |
| 246 | 249 | ||
| @@ -320,6 +323,7 @@ static int zram_write(struct zram *zram, struct bio *bio) | |||
| 320 | mutex_unlock(&zram->lock); | 323 | mutex_unlock(&zram->lock); |
| 321 | zram_stat_inc(&zram->stats.pages_zero); | 324 | zram_stat_inc(&zram->stats.pages_zero); |
| 322 | zram_set_flag(zram, index, ZRAM_ZERO); | 325 | zram_set_flag(zram, index, ZRAM_ZERO); |
| 326 | index++; | ||
| 323 | continue; | 327 | continue; |
| 324 | } | 328 | } |
| 325 | 329 | ||
