Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 328339
b: refs/heads/master
c: 26a309c
h: refs/heads/master
i:
  328337: d6d4db3
  328335: 05c09de
v: v3
  • Loading branch information
Igal Chernobelsky authored and Luciano Coelho committed Sep 27, 2012
1 parent c13d49a commit 0766927
Show file tree
Hide file tree
Showing 9 changed files with 15 additions and 10 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: f1c434df6727ebb3068b67b06eae945a80f07ad3
refs/heads/master: 26a309c7586140afd40628a7031993afbaae0f07
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/ti/wl12xx/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1630,7 +1630,7 @@ static int __devinit wl12xx_probe(struct platform_device *pdev)
struct ieee80211_hw *hw;
struct wl12xx_priv *priv;

hw = wlcore_alloc_hw(sizeof(*priv));
hw = wlcore_alloc_hw(sizeof(*priv), WL12XX_AGGR_BUFFER_SIZE);
if (IS_ERR(hw)) {
wl1271_error("can't allocate hw");
return PTR_ERR(hw);
Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/net/wireless/ti/wl12xx/wl12xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
#define WL128X_SUBTYPE_VER 2
#define WL128X_MINOR_VER 115

#define WL12XX_AGGR_BUFFER_SIZE (4 * PAGE_SIZE)

#define WL12XX_NUM_TX_DESCRIPTORS 16
#define WL12XX_NUM_RX_DESCRIPTORS 8

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/ti/wl18xx/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1380,7 +1380,7 @@ static int __devinit wl18xx_probe(struct platform_device *pdev)
struct wl18xx_priv *priv;
int ret;

hw = wlcore_alloc_hw(sizeof(*priv));
hw = wlcore_alloc_hw(sizeof(*priv), WL18XX_AGGR_BUFFER_SIZE);
if (IS_ERR(hw)) {
wl1271_error("can't allocate hw");
ret = PTR_ERR(hw);
Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/net/wireless/ti/wl18xx/wl18xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@

#define WL18XX_CMD_MAX_SIZE 740

#define WL18XX_AGGR_BUFFER_SIZE (13 * PAGE_SIZE)

#define WL18XX_NUM_TX_DESCRIPTORS 32
#define WL18XX_NUM_RX_DESCRIPTORS 32

Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/net/wireless/ti/wlcore/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -5313,7 +5313,7 @@ static int wl1271_init_ieee80211(struct wl1271 *wl)

#define WL1271_DEFAULT_CHANNEL 0

struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size)
struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size)
{
struct ieee80211_hw *hw;
struct wl1271 *wl;
Expand Down Expand Up @@ -5398,12 +5398,13 @@ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size)
mutex_init(&wl->mutex);
mutex_init(&wl->flush_mutex);

order = get_order(WL1271_AGGR_BUFFER_SIZE);
order = get_order(aggr_buf_size);
wl->aggr_buf = (u8 *)__get_free_pages(GFP_KERNEL, order);
if (!wl->aggr_buf) {
ret = -ENOMEM;
goto err_wq;
}
wl->aggr_buf_size = aggr_buf_size;

wl->dummy_packet = wl12xx_alloc_dummy_packet(wl);
if (!wl->dummy_packet) {
Expand Down Expand Up @@ -5466,8 +5467,7 @@ int wlcore_free_hw(struct wl1271 *wl)
device_remove_file(wl->dev, &dev_attr_bt_coex_state);
free_page((unsigned long)wl->fwlog);
dev_kfree_skb(wl->dummy_packet);
free_pages((unsigned long)wl->aggr_buf,
get_order(WL1271_AGGR_BUFFER_SIZE));
free_pages((unsigned long)wl->aggr_buf, get_order(wl->aggr_buf_size));

wl1271_debugfs_exit(wl);

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/ti/wlcore/rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ int wlcore_rx(struct wl1271 *wl, struct wl_fw_status_1 *status)
pkt_len = wlcore_rx_get_buf_size(wl, des);
align_pkt_len = wlcore_rx_get_align_buf_size(wl,
pkt_len);
if (buf_size + align_pkt_len > WL1271_AGGR_BUFFER_SIZE)
if (buf_size + align_pkt_len > wl->aggr_buf_size)
break;
buf_size += align_pkt_len;
rx_counter++;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/ti/wlcore/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ static int wl1271_tx_allocate(struct wl1271 *wl, struct wl12xx_vif *wlvif,
int id, ret = -EBUSY, ac;
u32 spare_blocks;

if (buf_offset + total_len > WL1271_AGGR_BUFFER_SIZE)
if (buf_offset + total_len > wl->aggr_buf_size)
return -EAGAIN;

spare_blocks = wlcore_hw_get_spare_blocks(wl, is_gem);
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/net/wireless/ti/wlcore/wlcore.h
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ struct wl1271 {

/* Intermediate buffer, used for packet aggregation */
u8 *aggr_buf;
u32 aggr_buf_size;

/* Reusable dummy packet template */
struct sk_buff *dummy_packet;
Expand Down Expand Up @@ -399,7 +400,7 @@ struct wl1271 {

int __devinit wlcore_probe(struct wl1271 *wl, struct platform_device *pdev);
int __devexit wlcore_remove(struct platform_device *pdev);
struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size);
struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size);
int wlcore_free_hw(struct wl1271 *wl);
int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
struct ieee80211_vif *vif,
Expand Down

0 comments on commit 0766927

Please sign in to comment.