Modem: Increase buffer sizes to 256k and make sure to never transfer more packets than there are available FIFO slots, and removed excess logging, fixes #4793.
This commit is contained in:
@@ -264,7 +264,7 @@ modem_read_phonebook_file(modem_t *modem, const char *path)
|
||||
|
||||
if (strspn(entry.phone, "01234567890*=,;#+>") != strlen(entry.phone)) {
|
||||
/* Invalid characters. */
|
||||
pclog("Modem: Invalid character in phone number %s\n", entry.phone);
|
||||
modem_log("Modem: Invalid character in phone number %s\n", entry.phone);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -617,7 +617,7 @@ modem_enter_idle_state(modem_t *modem)
|
||||
if (modem->listen_port) {
|
||||
modem->serversocket = plat_netsocket_create_server(NET_SOCKET_TCP, modem->listen_port);
|
||||
if (modem->serversocket == (SOCKET) -1) {
|
||||
pclog("Failed to set up server on port %d\n", modem->listen_port);
|
||||
modem_log("Failed to set up server on port %d\n", modem->listen_port);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -703,14 +703,14 @@ modem_dial(modem_t *modem, const char *str)
|
||||
modem->numberinprogress[0] = 0;
|
||||
modem->clientsocket = plat_netsocket_create(NET_SOCKET_TCP);
|
||||
if (modem->clientsocket == -1) {
|
||||
pclog("Failed to create client socket\n");
|
||||
modem_log("Failed to create client socket\n");
|
||||
modem_send_res(modem, ResNOCARRIER);
|
||||
modem_enter_idle_state(modem);
|
||||
return;
|
||||
}
|
||||
|
||||
if (-1 == plat_netsocket_connect(modem->clientsocket, buf, port)) {
|
||||
pclog("Failed to connect to %s\n", buf);
|
||||
modem_log("Failed to connect to %s\n", buf);
|
||||
modem_send_res(modem, ResNOCARRIER);
|
||||
modem_enter_idle_state(modem);
|
||||
return;
|
||||
@@ -1147,7 +1147,7 @@ fifo8_resize_2x(Fifo8 *fifo)
|
||||
if (!used)
|
||||
return;
|
||||
|
||||
uint8_t *temp_buf = calloc(fifo->capacity * 2, 1);
|
||||
uint8_t *temp_buf = calloc(size, 1);
|
||||
if (!temp_buf) {
|
||||
fatal("net_modem: Out Of Memory!\n");
|
||||
}
|
||||
@@ -1440,7 +1440,8 @@ modem_cmdpause_timer_callback(void *priv)
|
||||
if (modem->connected) {
|
||||
uint8_t buffer[16];
|
||||
int wouldblock = 0;
|
||||
int res = plat_netsocket_receive(modem->clientsocket, buffer, sizeof(buffer), &wouldblock);
|
||||
int recv = MIN(modem->rx_data.capacity - modem->rx_data.num, sizeof(buffer));
|
||||
int res = plat_netsocket_receive(modem->clientsocket, buffer, recv, &wouldblock);
|
||||
|
||||
if (res > 0) {
|
||||
if (modem->telnet_mode)
|
||||
@@ -1488,8 +1489,8 @@ modem_init(const device_t *info)
|
||||
|
||||
modem->clientsocket = modem->serversocket = modem->waitingclientsocket = -1;
|
||||
|
||||
fifo8_create(&modem->data_pending, 0x20000);
|
||||
fifo8_create(&modem->rx_data, 0x20000);
|
||||
fifo8_create(&modem->data_pending, 0x40000);
|
||||
fifo8_create(&modem->rx_data, 0x40000);
|
||||
|
||||
timer_add(&modem->dtr_timer, modem_dtr_callback_timer, modem, 0);
|
||||
timer_add(&modem->host_to_serial_timer, host_to_modem_cb, modem, 0);
|
||||
|
||||
Reference in New Issue
Block a user