mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-14 09:09:56 +00:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: fix CAN MAINTAINERS SCM tree type mwifiex: fix crash during simultaneous scan and connect b43: fix regression in PIO case ath9k: Fix kernel panic in AR2427 in AP mode CAN MAINTAINERS update net: fsl: fec: fix build for mx23-only kernel sch_qfq: fix overflow in qfq_update_start() Revert "Bluetooth: Increase HCI reset timeout in hci_dev_do_close"
This commit is contained in:
commit
869682384e
11
MAINTAINERS
11
MAINTAINERS
@ -1698,11 +1698,9 @@ F: arch/x86/include/asm/tce.h
|
|||||||
|
|
||||||
CAN NETWORK LAYER
|
CAN NETWORK LAYER
|
||||||
M: Oliver Hartkopp <socketcan@hartkopp.net>
|
M: Oliver Hartkopp <socketcan@hartkopp.net>
|
||||||
M: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
|
|
||||||
M: Urs Thuermann <urs.thuermann@volkswagen.de>
|
|
||||||
L: linux-can@vger.kernel.org
|
L: linux-can@vger.kernel.org
|
||||||
L: netdev@vger.kernel.org
|
W: http://gitorious.org/linux-can
|
||||||
W: http://developer.berlios.de/projects/socketcan/
|
T: git git://gitorious.org/linux-can/linux-can-next.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: net/can/
|
F: net/can/
|
||||||
F: include/linux/can.h
|
F: include/linux/can.h
|
||||||
@ -1713,9 +1711,10 @@ F: include/linux/can/gw.h
|
|||||||
|
|
||||||
CAN NETWORK DRIVERS
|
CAN NETWORK DRIVERS
|
||||||
M: Wolfgang Grandegger <wg@grandegger.com>
|
M: Wolfgang Grandegger <wg@grandegger.com>
|
||||||
|
M: Marc Kleine-Budde <mkl@pengutronix.de>
|
||||||
L: linux-can@vger.kernel.org
|
L: linux-can@vger.kernel.org
|
||||||
L: netdev@vger.kernel.org
|
W: http://gitorious.org/linux-can
|
||||||
W: http://developer.berlios.de/projects/socketcan/
|
T: git git://gitorious.org/linux-can/linux-can-next.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/net/can/
|
F: drivers/net/can/
|
||||||
F: include/linux/can/dev.h
|
F: include/linux/can/dev.h
|
||||||
|
@ -23,8 +23,8 @@ if NET_VENDOR_FREESCALE
|
|||||||
config FEC
|
config FEC
|
||||||
bool "FEC ethernet controller (of ColdFire and some i.MX CPUs)"
|
bool "FEC ethernet controller (of ColdFire and some i.MX CPUs)"
|
||||||
depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \
|
depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \
|
||||||
ARCH_MXC || ARCH_MXS)
|
ARCH_MXC || SOC_IMX28)
|
||||||
default ARCH_MXC || ARCH_MXS if ARM
|
default ARCH_MXC || SOC_IMX28 if ARM
|
||||||
select PHYLIB
|
select PHYLIB
|
||||||
---help---
|
---help---
|
||||||
Say Y here if you want to use the built-in 10/100 Fast ethernet
|
Say Y here if you want to use the built-in 10/100 Fast ethernet
|
||||||
|
@ -1843,6 +1843,9 @@ static void ath9k_sta_notify(struct ieee80211_hw *hw,
|
|||||||
struct ath_softc *sc = hw->priv;
|
struct ath_softc *sc = hw->priv;
|
||||||
struct ath_node *an = (struct ath_node *) sta->drv_priv;
|
struct ath_node *an = (struct ath_node *) sta->drv_priv;
|
||||||
|
|
||||||
|
if (!(sc->sc_flags & SC_OP_TXAGGR))
|
||||||
|
return;
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case STA_NOTIFY_SLEEP:
|
case STA_NOTIFY_SLEEP:
|
||||||
an->sleeping = true;
|
an->sleeping = true;
|
||||||
|
@ -617,9 +617,19 @@ static bool pio_rx_frame(struct b43_pio_rxqueue *q)
|
|||||||
const char *err_msg = NULL;
|
const char *err_msg = NULL;
|
||||||
struct b43_rxhdr_fw4 *rxhdr =
|
struct b43_rxhdr_fw4 *rxhdr =
|
||||||
(struct b43_rxhdr_fw4 *)wl->pio_scratchspace;
|
(struct b43_rxhdr_fw4 *)wl->pio_scratchspace;
|
||||||
|
size_t rxhdr_size = sizeof(*rxhdr);
|
||||||
|
|
||||||
BUILD_BUG_ON(sizeof(wl->pio_scratchspace) < sizeof(*rxhdr));
|
BUILD_BUG_ON(sizeof(wl->pio_scratchspace) < sizeof(*rxhdr));
|
||||||
memset(rxhdr, 0, sizeof(*rxhdr));
|
switch (dev->fw.hdr_format) {
|
||||||
|
case B43_FW_HDR_410:
|
||||||
|
case B43_FW_HDR_351:
|
||||||
|
rxhdr_size -= sizeof(rxhdr->format_598) -
|
||||||
|
sizeof(rxhdr->format_351);
|
||||||
|
break;
|
||||||
|
case B43_FW_HDR_598:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
memset(rxhdr, 0, rxhdr_size);
|
||||||
|
|
||||||
/* Check if we have data and wait for it to get ready. */
|
/* Check if we have data and wait for it to get ready. */
|
||||||
if (q->rev >= 8) {
|
if (q->rev >= 8) {
|
||||||
@ -657,11 +667,11 @@ data_ready:
|
|||||||
|
|
||||||
/* Get the preamble (RX header) */
|
/* Get the preamble (RX header) */
|
||||||
if (q->rev >= 8) {
|
if (q->rev >= 8) {
|
||||||
b43_block_read(dev, rxhdr, sizeof(*rxhdr),
|
b43_block_read(dev, rxhdr, rxhdr_size,
|
||||||
q->mmio_base + B43_PIO8_RXDATA,
|
q->mmio_base + B43_PIO8_RXDATA,
|
||||||
sizeof(u32));
|
sizeof(u32));
|
||||||
} else {
|
} else {
|
||||||
b43_block_read(dev, rxhdr, sizeof(*rxhdr),
|
b43_block_read(dev, rxhdr, rxhdr_size,
|
||||||
q->mmio_base + B43_PIO_RXDATA,
|
q->mmio_base + B43_PIO_RXDATA,
|
||||||
sizeof(u16));
|
sizeof(u16));
|
||||||
}
|
}
|
||||||
|
@ -55,9 +55,14 @@ int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter)
|
|||||||
{
|
{
|
||||||
bool cancel_flag = false;
|
bool cancel_flag = false;
|
||||||
int status = adapter->cmd_wait_q.status;
|
int status = adapter->cmd_wait_q.status;
|
||||||
struct cmd_ctrl_node *cmd_queued = adapter->cmd_queued;
|
struct cmd_ctrl_node *cmd_queued;
|
||||||
|
|
||||||
|
if (!adapter->cmd_queued)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
cmd_queued = adapter->cmd_queued;
|
||||||
adapter->cmd_queued = NULL;
|
adapter->cmd_queued = NULL;
|
||||||
|
|
||||||
dev_dbg(adapter->dev, "cmd pending\n");
|
dev_dbg(adapter->dev, "cmd pending\n");
|
||||||
atomic_inc(&adapter->cmd_pending);
|
atomic_inc(&adapter->cmd_pending);
|
||||||
|
|
||||||
|
@ -613,7 +613,7 @@ static int hci_dev_do_close(struct hci_dev *hdev)
|
|||||||
if (!test_bit(HCI_RAW, &hdev->flags)) {
|
if (!test_bit(HCI_RAW, &hdev->flags)) {
|
||||||
set_bit(HCI_INIT, &hdev->flags);
|
set_bit(HCI_INIT, &hdev->flags);
|
||||||
__hci_request(hdev, hci_reset_req, 0,
|
__hci_request(hdev, hci_reset_req, 0,
|
||||||
msecs_to_jiffies(HCI_INIT_TIMEOUT));
|
msecs_to_jiffies(250));
|
||||||
clear_bit(HCI_INIT, &hdev->flags);
|
clear_bit(HCI_INIT, &hdev->flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -817,11 +817,11 @@ skip_unblock:
|
|||||||
static void qfq_update_start(struct qfq_sched *q, struct qfq_class *cl)
|
static void qfq_update_start(struct qfq_sched *q, struct qfq_class *cl)
|
||||||
{
|
{
|
||||||
unsigned long mask;
|
unsigned long mask;
|
||||||
uint32_t limit, roundedF;
|
u64 limit, roundedF;
|
||||||
int slot_shift = cl->grp->slot_shift;
|
int slot_shift = cl->grp->slot_shift;
|
||||||
|
|
||||||
roundedF = qfq_round_down(cl->F, slot_shift);
|
roundedF = qfq_round_down(cl->F, slot_shift);
|
||||||
limit = qfq_round_down(q->V, slot_shift) + (1UL << slot_shift);
|
limit = qfq_round_down(q->V, slot_shift) + (1ULL << slot_shift);
|
||||||
|
|
||||||
if (!qfq_gt(cl->F, q->V) || qfq_gt(roundedF, limit)) {
|
if (!qfq_gt(cl->F, q->V) || qfq_gt(roundedF, limit)) {
|
||||||
/* timestamp was stale */
|
/* timestamp was stale */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user