Using Ethernet Shield with with bluetooth.

Hi.
I am trying to bluetooth exchange data between two arduinos using HM10 and then post it on my webpage using ethernet shield. However when I use ethernet.begin(mac,ip) in the code, the bluetooth doesnt respond at all and as i remove the line, the code compiles properly, as in the devices get connected and data is exchanged. Plz help. Posting the code below.

#include <SPI.h>
#include <Ethernet.h>
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10,11);
byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192,168,bfbhdbx);

EthernetClient client;
String row[50];
String location_row;
int first=0;

int last=0;

char post_url = “gvkmdlvsiv”; // IP Adres (or name) of server to dump data to
String data = “”;
bool con=0;
void setup() {
Serial.begin(9600);
BTSerial.begin(9600);
while (!Serial) {
;
}
Ethernet.begin(mac,ip);

}

void loop() {
if(con==0)
{
String return_data="";
BTSerial.flush();
BTSerial.write(“AT+CON"MYBLUETOOTHMAC”");
delay(500);
return_data=get_serial();
Serial.println(“GET CONNECTION STATUS”+String(return_data));

if(return_data.endsWith("+CONN")){
con=1;
}

else{
data=String(row[last]);
Serial.println(“data of=”+String(last)+“is”+String(row[last]));
if (client.connect(“gshdhghthjj”, 80)) {
Serial.println("-> Connected");
Serial.print(data);
client.print( “GET /ec/text.php?”);
Serial.println(“Success”);
client.print(“BluetoothData=”+data);
client.println( " HTTP/1.1");
client.print( “Host: " );
client.println(post_url);
client.println( “Connection: close” );
client.println();
client.println();
client.stop();
Serial.println(“Server Connection close”);
Serial.print(“DATA ===” + String(data));
last++;
}
else {
Serial.println(”–> connection failed/n");
}

}
}
else{
if(BTSerial.available())
{

location_row=location_row+char(BTSerial.read());
if(location_row.endsWith(“OK+LOST”) || location_row.endsWith("+LOST")){
Serial.println(“connection lost”);
location_row="";
con=0;
}
else if(location_row.endsWith(“s”)){
location_row="";
}
else if(location_row.endsWith(“e”)){
Serial.println(String(location_row));
row[first]=location_row;
first++;
location_row="";
}
else{
;
}
}
}
}
void start_at(){
String c="";
do{
Serial.println(“in start”);
BTSerial.print(“AT”);
delay(500);
if (BTSerial.available())
{
while(BTSerial.available())
{
c=c+char(BTSerial.read());
}

}
}while(c!=“OK”);
}

String get_serial(){
String serial;
while(BTSerial.available()){
serial=serial+char(BTSerial.read());
}
return serial;
}