diff options
author | Sivakumar Subramani <Sivakumar.Subramani@neterion.com> | 2007-02-24 02:01:31 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-02-27 04:27:11 -0500 |
commit | ac1f90d6f1267b916c47cc5a033ef5ec1baf4280 (patch) | |
tree | 92dde369ee9bfafd00ab8e5b12bc4d77a7b4b674 /drivers | |
parent | 926930b202d56c3dfb6aea0a0c6bfba2b87a8c03 (diff) |
S2IO: Making LED off during LINK_DOWN notification.
- Turning off LED for LINK_DOWN notification
- Return from rxd_owner_bit_reset function if call to set_rxd_buffer_pointer
fails with ENOMEM
Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/s2io.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index 89881aa2fc31..7c3551bad14c 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c | |||
@@ -4127,6 +4127,11 @@ static void s2io_txpic_intr_handle(struct s2io_nic *sp) | |||
4127 | val64 &= ~GPIO_INT_MASK_LINK_UP; | 4127 | val64 &= ~GPIO_INT_MASK_LINK_UP; |
4128 | val64 |= GPIO_INT_MASK_LINK_DOWN; | 4128 | val64 |= GPIO_INT_MASK_LINK_DOWN; |
4129 | writeq(val64, &bar0->gpio_int_mask); | 4129 | writeq(val64, &bar0->gpio_int_mask); |
4130 | |||
4131 | /* turn off LED */ | ||
4132 | val64 = readq(&bar0->adapter_control); | ||
4133 | val64 = val64 &(~ADAPTER_LED_ON); | ||
4134 | writeq(val64, &bar0->adapter_control); | ||
4130 | } | 4135 | } |
4131 | } | 4136 | } |
4132 | val64 = readq(&bar0->gpio_int_mask); | 4137 | val64 = readq(&bar0->gpio_int_mask); |
@@ -6124,10 +6129,13 @@ static int rxd_owner_bit_reset(struct s2io_nic *sp) | |||
6124 | rx_blocks[j].rxds[k].virt_addr; | 6129 | rx_blocks[j].rxds[k].virt_addr; |
6125 | if(sp->rxd_mode >= RXD_MODE_3A) | 6130 | if(sp->rxd_mode >= RXD_MODE_3A) |
6126 | ba = &mac_control->rings[i].ba[j][k]; | 6131 | ba = &mac_control->rings[i].ba[j][k]; |
6127 | set_rxd_buffer_pointer(sp, rxdp, ba, | 6132 | if (set_rxd_buffer_pointer(sp, rxdp, ba, |
6128 | &skb,(u64 *)&temp0_64, | 6133 | &skb,(u64 *)&temp0_64, |
6129 | (u64 *)&temp1_64, | 6134 | (u64 *)&temp1_64, |
6130 | (u64 *)&temp2_64, size); | 6135 | (u64 *)&temp2_64, |
6136 | size) == ENOMEM) { | ||
6137 | return 0; | ||
6138 | } | ||
6131 | 6139 | ||
6132 | set_rxd_buffer_size(sp, rxdp, size); | 6140 | set_rxd_buffer_size(sp, rxdp, size); |
6133 | wmb(); | 6141 | wmb(); |