Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 268645
b: refs/heads/master
c: 9ee777a
h: refs/heads/master
i:
  268643: 215d21e
v: v3
  • Loading branch information
Roland Vossen authored and Greg Kroah-Hartman committed Oct 3, 2011
1 parent 789eb49 commit ee5c68a
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 84 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4be9393fb8f11f5eb0aeabd1e5564d6930f36bbf
refs/heads/master: 9ee777a558b16b1e115e0db972c1786dd8221e59
2 changes: 0 additions & 2 deletions trunk/drivers/staging/brcm80211/brcmfmac/dhd.h
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,6 @@ struct brcmf_pub {
/* Internal brcmf items */
bool up; /* Driver up/down (to OS) */
bool txoff; /* Transmit flow-controlled */
bool dongle_reset; /* true = DEVRESET put dongle into reset */
enum brcmf_bus_state busstate;
uint hdrlen; /* Total BRCMF header length (proto + bus) */
uint maxctl; /* Max size rxctl request from proto to bus */
Expand Down Expand Up @@ -744,7 +743,6 @@ extern void brcmf_del_if(struct brcmf_info *drvr_priv, int ifidx);
extern int brcmf_sendpkt(struct brcmf_pub *drvr, int ifidx,\
struct sk_buff *pkt);

extern int brcmf_bus_devreset(struct brcmf_pub *drvr, u8 flag);
extern int brcmf_bus_start(struct brcmf_pub *drvr);

extern void brcmf_c_pktfilter_offload_set(struct brcmf_pub *drvr, char *arg);
Expand Down
82 changes: 1 addition & 81 deletions trunk/drivers/staging/brcm80211/brcmfmac/dhd_sdio.c
Original file line number Diff line number Diff line change
Expand Up @@ -2269,11 +2269,6 @@ static int brcmf_sdbrcm_txpkt(struct brcmf_bus *bus, struct sk_buff *pkt,

brcmf_dbg(TRACE, "Enter\n");

if (bus->drvr->dongle_reset) {
ret = -EPERM;
goto done;
}

frame = (u8 *) (pkt->data);

/* Add alignment padding, allocate new packet if needed */
Expand Down Expand Up @@ -2997,9 +2992,6 @@ brcmf_sdbrcm_bus_txctl(struct brcmf_bus *bus, unsigned char *msg, uint msglen)

brcmf_dbg(TRACE, "Enter\n");

if (bus->drvr->dongle_reset)
return -EIO;

/* Back the pointer to make a room for bus header */
frame = msg - SDPCM_HDRLEN;
len = (msglen += SDPCM_HDRLEN);
Expand Down Expand Up @@ -3112,9 +3104,6 @@ brcmf_sdbrcm_bus_rxctl(struct brcmf_bus *bus, unsigned char *msg, uint msglen)

brcmf_dbg(TRACE, "Enter\n");

if (bus->drvr->dongle_reset)
return -EIO;

/* Wait until control frame is available */
timeleft = brcmf_sdbrcm_ioctl_resp_wait(bus, &bus->rxlen, &pending);

Expand Down Expand Up @@ -3880,9 +3869,6 @@ static bool brcmf_sdbrcm_bus_watchdog(struct brcmf_pub *drvr)

bus = drvr->bus;

if (bus->drvr->dongle_reset)
return false;

/* Ignore the timer if simulating bus down */
if (bus->sleeping)
return false;
Expand Down Expand Up @@ -3968,9 +3954,6 @@ static void brcmf_sdbrcm_release_malloc(struct brcmf_bus *bus)
{
brcmf_dbg(TRACE, "Enter\n");

if (bus->drvr && bus->drvr->dongle_reset)
return;

kfree(bus->rxbuf);
bus->rxctl = bus->rxbuf = NULL;
bus->rxlen = 0;
Expand Down Expand Up @@ -4406,8 +4389,7 @@ brcmf_sdbrcm_watchdog_thread(void *data)
if (kthread_should_stop())
break;
if (!wait_for_completion_interruptible(&bus->watchdog_wait)) {
if (bus->drvr->dongle_reset == false)
brcmf_sdbrcm_bus_watchdog(bus->drvr);
brcmf_sdbrcm_bus_watchdog(bus->drvr);
/* Count the tick for reference */
bus->drvr->tickcnt++;
} else
Expand Down Expand Up @@ -4451,9 +4433,6 @@ static void brcmf_sdbrcm_release_dongle(struct brcmf_bus *bus)
{
brcmf_dbg(TRACE, "Enter\n");

if (bus->drvr && bus->drvr->dongle_reset)
return;

if (bus->ci) {
brcmf_sdbrcm_clkctl(bus, CLK_AVAIL, false);
brcmf_sdbrcm_clkctl(bus, CLK_NONE, false);
Expand Down Expand Up @@ -4672,65 +4651,6 @@ struct device *brcmf_bus_get_device(struct brcmf_bus *bus)
return &bus->sdiodev->func[2]->dev;
}

int brcmf_bus_devreset(struct brcmf_pub *drvr, u8 flag)
{
int bcmerror = 0;
struct brcmf_bus *bus;

bus = drvr->bus;

if (flag == true) {
brcmf_sdbrcm_wd_timer(bus, 0);
if (!bus->drvr->dongle_reset) {
/* Expect app to have torn down any
connection before calling */
/* Stop the bus, disable F2 */
brcmf_sdbrcm_bus_stop(bus, false);

/* Clean tx/rx buffer pointers,
detach from the dongle */
brcmf_sdbrcm_release_dongle(bus);

bus->drvr->dongle_reset = true;
bus->drvr->up = false;

brcmf_dbg(TRACE, "WLAN OFF DONE\n");
/* App can now remove power from device */
} else
bcmerror = -EIO;
} else {
/* App must have restored power to device before calling */

brcmf_dbg(TRACE, " == WLAN ON ==\n");

if (bus->drvr->dongle_reset) {
/* Turn on WLAN */

/* Attempt to re-attach & download */
if (brcmf_sdbrcm_probe_attach(bus, SI_ENUM_BASE)) {
/* Attempt to download binary to the dongle */
if (brcmf_sdbrcm_probe_init(bus)) {
/* Re-init bus, enable F2 transfer */
brcmf_sdbrcm_bus_init(bus->drvr, false);

bus->drvr->dongle_reset = false;
bus->drvr->up = true;

brcmf_dbg(TRACE, "WLAN ON DONE\n");
} else
bcmerror = -EIO;
} else
bcmerror = -EIO;
} else {
bcmerror = -EISCONN;
brcmf_dbg(ERROR, "Set DEVRESET=false invoked when device is on\n");
bcmerror = -EIO;
}
brcmf_sdbrcm_wd_timer(bus, BRCMF_WD_POLL_MS);
}
return bcmerror;
}

void
brcmf_sdbrcm_wd_timer(struct brcmf_bus *bus, uint wdtick)
{
Expand Down

0 comments on commit ee5c68a

Please sign in to comment.